ndb_gis.result
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· RESULT 代码 · 共 1,089 行 · 第 1/3 页
RESULT
1,089 行
113 POINT(4 10)SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;fid AsText(GeometryN(g, 2))114 LINESTRING(16 0,16 23,16 48)115 NULL116 LINESTRING(2 5,5 8,21 7)SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;fid AsText(GeometryN(g, 2))117 POLYGON((59 18,67 18,67 13,59 13,59 18))118 POLYGON((59 18,67 18,67 13,59 13,59 18))119 NULLSELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;fid AsText(GeometryN(g, 2))120 LINESTRING(0 0,10 10)121 LINESTRING(3 6,7 9)SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;fid AsText(GeometryN(g, 1))120 POINT(0 0)121 POINT(44 6)explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 Warnings:Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`SELECT g1.fid as first, g2.fid as second,Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as rFROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;first second w c o e d t i r120 120 1 1 0 1 0 0 1 0120 121 0 0 1 0 0 0 1 0121 120 0 0 1 0 0 0 1 0121 121 1 1 0 1 0 0 1 0explain extended SELECT g1.fid as first, g2.fid as second,Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as rFROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort1 SIMPLE g2 ALL NULL NULL NULL NULL 2 Warnings:Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;CREATE TABLE t1 (gp point,ln linestring,pg polygon,mp multipoint,mln multilinestring,mpg multipolygon,gc geometrycollection,gm geometry);SHOW FIELDS FROM t1;Field Type Null Key Default Extragp point YES NULL ln linestring YES NULL pg polygon YES NULL mp multipoint YES NULL mln multilinestring YES NULL mpg multipolygon YES NULL gc geometrycollection YES NULL gm geometry YES NULL ALTER TABLE t1 ADD fid INT;SHOW FIELDS FROM t1;Field Type Null Key Default Extragp point YES NULL ln linestring YES NULL pg polygon YES NULL mp multipoint YES NULL mln multilinestring YES NULL mpg multipolygon YES NULL gc geometrycollection YES NULL gm geometry YES NULL fid int(11) YES NULL DROP TABLE t1;create table t1 (a geometry not null);insert into t1 values (GeomFromText('Point(1 2)'));insert into t1 values ('Garbage');ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY fieldinsert IGNORE into t1 values ('Garbage');ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY fielddrop table t1;create table t1 (fl geometry not null);insert into t1 values (1);ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY fieldinsert into t1 values (1.11);ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY fieldinsert into t1 values ("qwerty");ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY fieldinsert into t1 values (pointfromtext('point(1,1)'));ERROR 23000: Column 'fl' cannot be nulldrop table t1;End of 4.1 testsCREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrcontainscenter,smallSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrdisjointdown3,left3,right3,up3SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrequalcenterSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrintersectbig,center,down,down2,left,left2,right,right2,small,up,up2SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbroverlapsdown,left,right,upSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrtouchesdown2,left2,right2,up2SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;mbrwithinbig,centerSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;containscenter,smallSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;disjointdown3,left3,right3,up3SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;equalscenterSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;intersectbig,center,down,down2,left,left2,right,right2,small,up,up2SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;overlapsdown,left,right,upSELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;touchesdown2,left2,right2,up2SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;withinbig,centerSET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');SET @point1 = GeomFromText('POLYGON ((0 0))');SET @point2 = GeomFromText('POLYGON ((-2 0))');SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;overlapsSELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;overlapsSELECT Overlaps(@horiz1, @vert1) FROM DUAL;Overlaps(@horiz1, @vert1)0SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;Overlaps(@horiz1, @horiz2)1SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;Overlaps(@horiz1, @horiz3)0SELECT Overlaps(@horiz1, @point1) FROM DUAL;Overlaps(@horiz1, @point1)0SELECT Overlaps(@horiz1, @point2) FROM DUAL;Overlaps(@horiz1, @point2)0DROP TABLE t1;End of 5.0 testsset engine_condition_pushdown = on;DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;CREATE TABLE gis_point (fid INTEGER, g POINT);CREATE TABLE gis_line (fid INTEGER, g LINESTRING);CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);SHOW CREATE TABLE gis_point;Table Create Tablegis_point CREATE TABLE `gis_point` ( `fid` int(11) default NULL, `g` point default NULL) ENGINE=ndbcluster DEFAULT CHARSET=latin1SHOW FIELDS FROM gis_point;Field Type Null Key Default Extrafid int(11) YES NULL g point YES NULL SHOW FIELDS FROM gis_line;Field Type Null Key Default Extrafid int(11) YES NULL g linestring YES NULL SHOW FIELDS FROM gis_polygon;Field Type Null Key Default Extrafid int(11) YES NULL g polygon YES NULL SHOW FIELDS FROM gis_multi_point;Field Type Null Key Default Extrafid int(11) YES NULL g multipoint YES NULL SHOW FIELDS FROM gis_multi_line;Field Type Null Key Default Extrafid int(11) YES NULL g multilinestring YES NULL SHOW FIELDS FROM gis_multi_polygon;Field Type Null Key Default Extrafid int(11) YES NULL g multipolygon YES NULL SHOW FIELDS FROM gis_geometrycollection;Field Type Null Key Default Extrafid int(11) YES NULL g geometrycollection YES NULL SHOW FIELDS FROM gis_geometry;Field Type Null Key Default Extrafid int(11) YES NULL g geometry YES NULL INSERT INTO gis_point VALUES (101, PointFromText('POINT(10 10)')),(102, PointFromText('POINT(20 10)')),(103, PointFromText('POINT(20 20)')),(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));INSERT INTO gis_line VALUES(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));INSERT INTO gis_polygon VALUES(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));INSERT INTO gis_multi_point VALUES(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));INSERT INTO gis_multi_line VALUES(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));INSERT INTO gis_multi_polygon VALUES(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));INSERT INTO gis_geometrycollection VALUES(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));INSERT into gis_geometry SELECT * FROM gis_point;INSERT into gis_geometry SELECT * FROM gis_line;INSERT into gis_geometry SELECT * FROM gis_polygon;INSERT into gis_geometry SELECT * FROM gis_multi_point;INSERT into gis_geometry SELECT * FROM gis_multi_line;INSERT into gis_geometry SELECT * FROM gis_multi_polygon;INSERT into gis_geometry SELECT * FROM gis_geometrycollection;SELECT fid, AsText(g) FROM gis_point ORDER by fid;fid AsText(g)101 POINT(10 10)102 POINT(20 10)103 POINT(20 20)104 POINT(10 20)SELECT fid, AsText(g) FROM gis_line ORDER by fid;fid AsText(g)105 LINESTRING(0 0,0 10,10 0)106 LINESTRING(10 10,20 10,20 20,10 20,10 10)107 LINESTRING(10 10,40 10)SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;fid AsText(g)108 POLYGON((10 10,20 10,20 20,10 20,10 10))109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))110 POLYGON((0 0,30 0,30 30,0 0))SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;fid AsText(g)111 MULTIPOINT(0 0,10 10,10 20,20 20)112 MULTIPOINT(1 1,11 11,11 21,21 21)113 MULTIPOINT(3 6,4 10)SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;fid AsText(g)114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))115 MULTILINESTRING((10 48,10 21,10 0))116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;fid AsText(g)117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;fid AsText(g)120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;fid AsText(g)101 POINT(10 10)102 POINT(20 10)103 POINT(20 20)104 POINT(10 20)105 LINESTRING(0 0,0 10,10 0)106 LINESTRING(10 10,20 10,20 20,10 20,10 10)107 LINESTRING(10 10,40 10)108 POLYGON((10 10,20 10,20 20,10 20,10 10))109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))110 POLYGON((0 0,30 0,30 30,0 0))111 MULTIPOINT(0 0,10 10,10 20,20 20)112 MULTIPOINT(1 1,11 11,11 21,21 21)113 MULTIPOINT(3 6,4 10)114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))115 MULTILINESTRING((10 48,10 21,10 0))116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;fid Dimension(g)101 0102 0103 0104 0105 1106 1107 1108 2109 2110 2111 0112 0113 0114 1115 1116 1117 2118 2119 2120 1121 1SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;fid GeometryType(g)101 POINT102 POINT103 POINT104 POINT105 LINESTRING106 LINESTRING107 LINESTRING108 POLYGON109 POLYGON110 POLYGON111 MULTIPOINT112 MULTIPOINT113 MULTIPOINT114 MULTILINESTRING115 MULTILINESTRING116 MULTILINESTRING
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?