Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add test cases for geopoly_overlap(). (Later:) This branch is closed and the development of the geopoly logic is moved to the rtree-geopoly branch. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | geojson |
Files: | files | file ages | folders |
SHA3-256: |
3920925128c2a91661dea5591c5d1c37 |
User & Date: | drh 2018-05-12 23:59:28.942 |
Original Comment: | Add test cases for geopoly_overlap(). |
Context
2018-05-12
| ||
23:59 | Add test cases for geopoly_overlap(). (Later:) This branch is closed and the development of the geopoly logic is moved to the rtree-geopoly branch. (Closed-Leaf check-in: 3920925128 user: drh tags: geojson) | |
23:56 | Merge changes from trunk. (check-in: 715740e302 user: drh tags: geojson) | |
Changes
Added ext/misc/geopoly-test1.txt.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 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; |