使用mysql存放空间数据
2007-11-11 16:00:51 来源:WEB开发网核心提示:MySQL(和PHP搭配之最佳组合)4.1及以后版本包含了空间数据引擎,可以通过sql语句存取空间数据、进行空间查询,使用mysql存放空间数据,MySQL(和PHP搭配之最佳组合)的Spatial引擎使用OGC(Open GIS Consortium)定义的WKT(Well-Known Text)/WKB(Well-
MySQL(和PHP搭配之最佳组合)4.1及以后版本包含了空间数据引擎,可以通过sql语句存取空间数据、进行空间查询。MySQL(和PHP搭配之最佳组合)的Spatial引擎使用OGC(Open GIS Consortium)定义的WKT(Well-Known Text)/WKB(Well-Known Binary)格式保存空间数据。MySQL(和PHP搭配之最佳组合)空间数据模型 * Geometry (未支持) o Point (已支持) o Curve (未支持) + LineString (已支持) # Line # LinearRing o Surface (未支持) + Polygon (已支持) o GeometryCollection (已支持) + MultiPoint (已支持) + MultiCurve (未支持) # MultiLineString (已支持) + MultiSurface (未支持) # MultiPolygon (已支持) 更多的信息请查阅 MySQL(和PHP搭配之最佳组合)参考文档第18章(版本4.1.8,其他版本章节号可能有出入)应用实例geoTable表的结构字段 类型 id INT geo GEOMETRY建表SQL语句"CREATE TABLE geoTable (`id` int(11) NOT NULL auto_increment, `geo` geometry default NULL, Prima(最完善的虚拟主机管理系统)RY 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的MySQL(和PHP搭配之最佳组合)GeometryLayer.java文件
更多精彩
赞助商链接