这事估计得坑我一段时间了, 很多年前设计和实现达梦数据源得人, 公司其他人都告诉我达梦不支持空间索引, 所以我们自己做了索引.
然而一个惊喜在今天被发现, 在达梦 DM系统包使用手册, SQL语言使用手册 都提到了空间索引,
而且文档里面写着 直接支持opengis2.0 标准, 这叫我情何以堪, 抱着侥幸去看系统dll和包, 好家伙
赫然哟jts.jar, geos.dll 这两货就是空间计算得, 难道当初研究得人不知道吗? 只能说呵呵了, 既然有
那么简单验证下吧.初始化空间包DMGEO, 创建模式SYSGEO, 创建空间表,创建空间索引
SP_INIT_GEO_SYS(1)
CREATE TABLE testgeo(id int, name varchar(20), geo ST_polygon);
create spatial indeX spidx on testgeo(geo);
spidx DROP INDEX spidx;
这很明显支持, 再找出DM7得文档, 是不是当时实现得时候DM还没支持? 然后就没有然后了, 就是别人一致支持, 程序员一直看DM程序员手册,怎么写代码没看系统手册, 这真实巨坑,
整体看了下和postgresql+PostGIS很像: 空间参考定义,数据操作函数,空间几何比较函数
目前看起来基本得二维空间数据支持是没多大问题得, 后续准备填坑吧, 还要做已有数据兼容, 真是前任挖坑, 后人填.