Hi Mark,
all this make perfect sense to me.
SELECT ST_AsText(ExtractMultiPoint(ST_GeomFromText(
'GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(4 5, 6 7, 8 9), POINT(30
30))' )));
> MULTIPOINT(1 1, 30 30)
SELECT ST_AsText(ExtractMultiLinestring(ST_GeomFromText(
'GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(4 5, 6 7, 8 9), POINT(30
30))' )));
> MULTILINESTRING((4 5, 6 7, 8 9))
SELECT ST_AsText(ExtractMultiPolygon(ST_GeomFromText(
'GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(4 5, 6 7, 8 9), POINT(30
30))' )));
> NULL
SELECT ST_AsText(ExtractMultiPoint(ST_GeomFromText(
'MULTIPOINT(1 1, 30 30)' )));
> MULTIPOINT(1 1, 30 30)
SELECT ST_AsText(ExtractMultiLinestring(ST_GeomFromText(
'LINESTRING(4 5, 6 7, 8 9)' )));
> MULTILINESTRING((4 5, 6 7, 8 9))
... and so on ...
===================
already committed to SVN [rev.106]:
svn
https://www.gaia-gis.it/svn/libspatialite libspatialite-svn
bye Sandro