[英]mysql select a geometry class from a geometry collection
我正在MySql數據庫中設置幾何集合。 我因此添加了各種幾何類:
SET @g ='GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 1,2 3,4 5),POINT(6 6))'; 插入myTable(geoCollectionField)值(GeomFromText(@g));
geoCollectionField
可能會在WKT中做出預期的響應,可能是:
GEOMETRYCOLLECTION(點(1 1),線條(0 1,2 3,4 5),點(6 6))
我可以通過幾種方式從此幾何集合中獲取數據。
從myTable中選擇geoCollectionField;
給出完整的GEOMETRYCOLLECTION(POINT(1 1),LINESTRING ...
從myTable中選擇AsText(GeometryN(geoCollectionField,1));
給出索引的幾何類POINT(1 1)。
我無法編寫僅獲取一種類類型的SELECT,例如以POINT((1 1),(6 6))結尾的POINT類。
有什么想法嗎?
請考慮以下步驟:
STNumGeometries
( STNumGeometries參考 )獲取GeometryCollection
中的GeometryCollection
數。 GeometryCollection
所有GeometryCollection
。 STGeometryN
( STGeometryN參考 )獲取特定索引 處的幾何 STGeometryType
獲取幾何類型 ( STGeometryType參考 ) GeometryCollection
。 遵循這些步驟將導致
GEOMETRYCOLLECTION(POINT(1 1), POINT(6 6))
您還可以根據所需的幾何類型使用其他集合( MultiPoint
, MultiLineString
和MultiPolygon
)
多點結果可能如下所示:
MULTIPOINT((1 1), (6 6))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.