]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add test cases for geopoly_overlap(). geojson
authordrh <drh@noemail.net>
Sat, 12 May 2018 23:59:28 +0000 (23:59 +0000)
committerdrh <drh@noemail.net>
Sat, 12 May 2018 23:59:28 +0000 (23:59 +0000)
FossilOrigin-Name: 3920925128c2a91661dea5591c5d1c3762dd2c294782d5d24fe3f06546849f46

ext/misc/geopoly-test1.txt [new file with mode: 0644]
manifest
manifest.uuid

diff --git a/ext/misc/geopoly-test1.txt b/ext/misc/geopoly-test1.txt
new file mode 100644 (file)
index 0000000..f678966
--- /dev/null
@@ -0,0 +1,62 @@
+#
+# Test cases for the geopoly_overlap() function of the geopoly.c extension.
+# To run these tests:
+#
+#    (1)  Build the geopoly extension and put the shared library in
+#         the local directory.
+#
+#    (2)  Run:   ./sqlite3 <geopoly-test1.txt >output.html
+#
+#    (3)  View the output.html in a web browser to see if the results
+#         are correct.
+#
+.load ./geopoly
+CREATE TABLE polys(
+  name TEXT,
+  poly TEXT
+);
+INSERT INTO polys(name,poly) VALUES
+ ('rectangle-2', '[[0,0],[200,0],[200,200],[0,200],[0,0]]'),
+ ('rectangle-1', '[[150,50],[200,50],[200,100],[150,100],[150,50]]'),
+ ('backslash',   '[[0,200],[200,0],[200,25],[0,225],[0,200]]'),
+ ('forwardslash', '[[0,0],[200,200],[200,225],[0,25],[0,0]]'),
+ ('diamond-2,0-2', '[[100,0],[200,100],[100,200],[0,100],[100,0]]'),
+ ('diamond-2,1-3', '[[200,0],[300,100],[200,200],[100,100],[200,0]]'),
+ ('diamond-2,2-4', '[[300,0],[400,100],[300,200],[200,100],[300,0]]'),
+ ('v-bowtie', '[[50,0],[150,0],[125,75],[125,125],[150,200],[50,200],
+               [75,125],[75,75],[50,0]]'),
+ ('h-bowtie', '[[0,50],[75,75],[125,75],[200,50],[200,150],[125,125],
+               [75,125],[0,150],[0,50]]'),
+ ('letter-E', '[[0,0],[90,0],[20,10],[20,90],[80,100],[20,110],[20,190],
+               [90,200],[0,200],[0,0]]'),
+ ('backward-C', '[[30,50],[120,40],[120,160],[30,150],[100,140],
+                 [100,60],[30,50]]'),
+ ('counter-cw', '[[100,200],[0,100],[100,0],[200,100],[150,150],[100,100],
+                  [150,140],[190,100],[100,10],[10,100],[100,190],[100,200]]'),
+ ('clockwise', '[[200,150],[150,180],[50,100],[100,35],[150,100],
+                 [100,45],[60,100],[150,170],[200,140],[200,150]]');
+CREATE TABLE overlap_meanings(id INTEGER PRIMARY KEY, x TEXT);
+INSERT INTO overlap_meanings(id,x) VALUES
+  (0, 'disjoint'),
+  (1, 'intersecting'),
+  (2, 'A inside of B'),
+  (3, 'B inside of A'),
+  (4, 'identical');
+
+.print <html>
+.print <h1>Note:</h1>
+.print <p>Directions are reversed because SVG uses a left-handed
+.print coordinate system<p>
+.separator \n
+SELECT
+  '<hr>',
+  '<svg width="400" height="225">',
+  geopoly_svg(x1.poly,'fill="blue"','fill-opacity="0.5"'),
+  geopoly_svg(x2.poly,'fill="green"','fill-opacity="0.5"'),
+  '</svg><pre>',
+  'blue (A):  '||x1.name,
+  'green (B): '||x2.name,
+  (SELECT x FROM overlap_meanings
+    WHERE id=geopoly_overlap(x1.poly,x2.poly)),
+  '</pre>'
+  FROM polys AS x1, polys AS x2;
index ccef0e7698356b622f866bd9a623e7fae20894e7..9b2e7752ca9bc49dcbcf0188de999f35e3ff43d3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\schanges\sfrom\strunk.
-D 2018-05-12T23:56:48.444
+C Add\stest\scases\sfor\sgeopoly_overlap().
+D 2018-05-12T23:59:28.942
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
@@ -279,6 +279,7 @@ F ext/misc/dbdump.c 69ef1be5b210538f77dfcc6fcb55b4b5f5e98b1e0bcfd67d818711e10761
 F ext/misc/eval.c 6ea9b22a5fa0dd973b67ca4e53555be177bc0b7b263aadf1024429457c82c0e3
 F ext/misc/fileio.c 48c7751c78fc4cdd29d8c862fd2f3f98bbfefa2a3cf1ca1496df4bf02eb8cded
 F ext/misc/fuzzer.c 7c64b8197bb77b7d64eff7cac7848870235d4c25
+F ext/misc/geopoly-test1.txt 5dcca1d88b042ba727b95145ace09056d8ee65c5a3b236c4afc34fdb6256cb12
 F ext/misc/geopoly.c 3a07738e9e07000a7a6cdc8f03391d98d3a63f9aaff4eceafe3f528e9dd21cb3
 F ext/misc/ieee754.c f190d0cc5182529acb15babd177781be1ac1718c
 F ext/misc/json1.c dbe086615b9546c156bf32b9378fc09383b58bd17513b866cfd24c1e15281984
@@ -1729,7 +1730,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P a3c6696f2f39554e968dcd86c87296b0d54e5a1683c2b309071ca70e7631b178 4ee136d6d2e029dad8371faf659d3a0bc0ac6ae76940db81d333848545bc990f
-R b2d69017114a5dc9f75f317c090f3551
+P 715740e3025f7575c1dc7cf220da6bf899d1e1b565eecbc38d2e9ec406fc97b8
+R 8f6d716cd9f8949fa3d68e1f577ea73a
 U drh
-Z f9f5f92a768d6e4f444355f2648a08cf
+Z bf8a50e6e945803943205be8e8db632d
index b2db1dddf6be6731548a4c7128d5630299a9d2a8..dec0f2767661aefe2825ac57922c6f8ed5888f65 100644 (file)
@@ -1 +1 @@
-715740e3025f7575c1dc7cf220da6bf899d1e1b565eecbc38d2e9ec406fc97b8
\ No newline at end of file
+3920925128c2a91661dea5591c5d1c3762dd2c294782d5d24fe3f06546849f46
\ No newline at end of file