Tôi tự hỏi độ chính xác của SELECT DISTINCT
toán tử là gì trên hình học PostGIS. Trên hệ thống của tôi, truy vấn sau cho tôi tổng số 5, có nghĩa là các điểm được chèn được coi là bằng nhau nếu chúng khác nhau dưới 1e-5 và tôi không chắc đó có phải là một tính năng của PostGIS, một sự cố khi cài đặt của tôi hoặc một lỗi.
Có ai biết nếu đó là hành vi dự kiến?
CREATE TEMP TABLE test (geom geometry);
INSERT INTO test
VALUES
(St_GeomFromText('POINT (0.1 0.1)')),
(St_GeomFromText('POINT (0.001 0.001)')),
(St_GeomFromText('POINT (0.0001 0.0001)')),
(St_GeomFromText('POINT (0.00001 0.00001)')),
(St_GeomFromText('POINT (0.000001 0.000001)')),
(St_GeomFromText('POINT (0.0000001 0.0000001)')),
(St_GeomFromText('POINT (0.00000001 0.00000001)')),
(St_GeomFromText('POINT (0.000000001 0.000000001)'));
SELECT COUNT(*) FROM (SELECT DISTINCT geom FROM test) AS test;
count
-------
5
(1 row)
Tôi đang dùng:
$ psql --version
psql (PostgreSQL) 9.3.1
và
SELECT PostGIS_full_version();
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
POSTGIS="2.1.1 r12113" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.1, released 2013/08/26" LIBXML="2.7.3" LIBJSON="UNKNOWN" RASTER
trên OSX 10.9