| 
         
     
     | 
     | 
    
  
    | 
    使用mysql存放空间数据 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-5-13 月光软件站  | 
   
  
    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文件 
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |