ST_ReducePrecision — Restituisce una geometria valida con punti arrotondati alla tolleranza della griglia.
geometry ST_ReducePrecision(
geometry g, float8 gridsize)
;
Restituisce una geometria valida con tutti i punti arrotondati alla tolleranza della griglia fornita e gli elementi al di sotto della tolleranza rimossi.
A differenza di ST_SnapToGrid, la geometria restituita sarà valida, senza autointersecazioni di anelli o componenti collassati.
La riduzione di precisione può essere utilizzata per:
abbinare la precisione delle coordinate all'accuratezza dei dati
ridurre il numero di coordinate necessarie per rappresentare una geometria
garantire un output geometrico valido in formati che utilizzano una precisione inferiore (ad esempio, formati di testo come WKT, GeoJSON o KML quando il numero di cifre decimali in uscita è limitato).
esportare geometrie valide in sistemi che utilizzano una precisione inferiore o limitata (ad es. SDE, valore di tolleranza Oracle)
Availability: 3.1.0.
Requires GEOS >= 3.9.0.
SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 0.1)); st_astext ----------------- POINT(1.4 19.3) SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 1.0)); st_astext ------------- POINT(1 19) SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 10)); st_astext ------------- POINT(0 20)
La riduzione della precisione può ridurre il numero di vertici
SELECT ST_AsText(ST_ReducePrecision('LINESTRING (10 10, 19.6 30.1, 20 30, 20.3 30, 40 40)', 1)); st_astext ------------- LINESTRING (10 10, 20 30, 40 40)
La riduzione di precisione divide i poligoni, se necessario, per garantire la validità
SELECT ST_AsText(ST_ReducePrecision('POLYGON ((10 10, 60 60.1, 70 30, 40 40, 50 10, 10 10))', 10)); st_astext ------------- MULTIPOLYGON (((60 60, 70 30, 40 40, 60 60)), ((40 40, 50 10, 10 10, 40 40)))