使用mysql存放空間資料
來源:互聯網
上載者:User
mysql|資料 mysql4.1及以後版本包含了空間資料引擎,可以通過sql語句存取空間資料、進行空間查詢。mysql的Spatial引擎使用OGC(Open GIS Consortium)定義的WKT(Well-Known Text)/WKB(Well-Known Binary)格式儲存空間資料。mysql空間資料模型 * Geometry (未支援) o Point (已支援) o Curve (未支援) + LineString (已支援) # Line # LinearRing o Surface (未支援) + Polygon (已支援) o GeometryCollection (已支援) + MultiPoint (已支援) + MultiCurve (未支援) # MultiLineString (已支援) + MultiSurface (未支援) # MultiPolygon (已支援) 更多的資訊請查閱 mysql參考文檔第18章(版本4.1.8,其他版本章節號可能有出入)應用執行個體geoTable表的結構欄位 類型 id INT geo GEOMETRY建表SQL語句"CREATE TABLE geoTable (`id` int(11) NOT NULL auto_increment, `geo` geometry default NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM"注意:只有MyISAM類型的表支援空間資料插入一條折線到geoTable表中INSERT INTO geoTable VALUES (GeomFromText(LINESTRING(0 0,1 1,2 2)));返回整個表的資料"SELECT id, AsText(geo) FROM geoTable"返回Polygon地區內的資料"SELECT id, AsText(geo) FROM geoTable WHERE MBRIntersects(GEO, GeomFromText('Polygon((...))'))"完整的應用執行個體可以查看開源webgis平台openmap的MysqlGeometryLayer.java檔案