W PostGIS Geometria jest preferowana w stosunku do Geografii (model okrągłej ziemi), ponieważ obliczenia są znacznie prostsze, a zatem szybsze. Posiada również WIELE więcej dostępnych funkcji, ale jest mniej dokładny na bardzo dużych odległościach.
Zaimportuj plik CSV do długich pól do DECIMAL(10,6)
kolumn. 6 cyfr to dokładność 10 cm, w większości przypadków powinno wystarczyć.
Następnie prześlij zaimportowane dane
SELECT
--ST_SetSRID(ST_Point(long, lat),4326) geom -- the wrong way because SRID not set in geometry_columns table
ST_Point(long, lat)::geometry(Geometry, 4326) geom
INTO target_table
FROM source_table;
Sprawdź, czy SRID nie wynosi zero!
SELECT * FROM public.geometry_columns WHERE f_table_name = 'target_table';
Sprawdź kolejność parametru długiej szerokości geograficznej za pomocą przeglądarki WKT i ST_AsEWKT(target_table.geom)
.
Następnie zindeksuj go, aby uzyskać najlepszą wydajność
CREATE INDEX idx_target_table_geom_gist
ON target_table USING gist(geom);