Saya ingin tahu apa ketepatan SELECT DISTINCT
operator pada geometri PostGIS. Pada sistem saya, permintaan berikut memberi saya hitungan 5, yang berarti bahwa poin yang dimasukkan dianggap sama jika mereka berbeda kurang dari 1e-5 dan saya tidak yakin apakah itu fitur PostGIS, masalah instalasi saya atau bug.
Adakah yang tahu kalau itu perilaku yang diharapkan?
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)
Saya menggunakan:
$ psql --version
psql (PostgreSQL) 9.3.1
dan
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
pada OSX 10.9