什么是MySQL函数wchih等于DB2/PostGIS函数“ST_Intersection”?

什么是MySQL函数wchih等于DB2/PostGIS函数“ST_Intersection”?

问题描述:

我正在做DB2/MySQL空间函数之间的一些性能比较。但是,在将DB2空间查询翻译成MySQL方言后,它会抱怨语法错误(错误:函数交集不存在)。查询相当简单,如下图所示:什么是MySQL函数wchih等于DB2/PostGIS函数“ST_Intersection”?

SELECT Area(Intersection(a.outline, b.outline))/Area(Union(a.outline, b.outline)) AS area_ratio, Distance(Centroid(b.outline), Centroid(a.outline)) AS centroid_distance 
FROM spatial_table1 A, spatial_table2 B ............ 

寻找到文档后,我找到了精确的空间功能(交集,联盟)都不能在MySQL中实现。是这样吗 ? 有没有解决这个问题的方法?

MBRIntersects()

它不是100%相同的,因为它测试,看是否边界rects相交,但已经很接近了。

MySQL的文档:http://dev.mysql.com/tech-resources/articles/4.1/gis-with-mysql.html
几何函数在MySQL:http://dev.mysql.com/doc/refman/5.0/en/geometry-property-functions.html

请注意,只有MyISAM表支持空间索引。

UDF的地理信息系统,为你的问题很抱歉没有用处:
MySQL的UDF的球体上的距离:http://www.lenzg.net/archives/220-New-UDF-for-MySQL-5.1-provides-GIS-functions-distance_sphere-and-distance_spheroid.html
MySQL的UDF为UTM功能:http://www.mysqludf.org/lib_mysqludf_fPROJ4/index.php

+0

谢谢Johan。但它是否返回与DB2中ST_Intersection返回相同的内容?我的意思是,根据文档,它返回最小边界矩形之间的交集。所以结果可能不准确?正确吗? – ablimit 2011-05-30 22:06:00

+0

@ablimit,对不起有没有相同的,有一个UDF的地方,让我想想..... – Johan 2011-05-30 22:46:58

+0

@ablimit,抱歉找不到完全匹配,你必须捏造或放弃MySQL(或写一个UDF) :-( – Johan 2011-05-30 22:54:01

有一个开发中的快照,其自带的精确的空间功能由“Holyfoot”实现。这是5.1.35快照。