En PostGIS, se prefiere la Geometría sobre la Geografía (modelo de tierra redonda) porque los cálculos son mucho más simples, por lo tanto, más rápidos. También tiene MUCHAS funciones más disponibles, pero es menos preciso en distancias muy largas.
Importe su CSV a campos lat largos a DECIMAL(10,6)
columnas. 6 dígitos tiene una precisión de 10 cm, debería ser suficiente para la mayoría de los casos de uso.
Luego envíe sus datos importados
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;
¡Verifique que SRID no sea cero!
SELECT * FROM public.geometry_columns WHERE f_table_name = 'target_table';
Valide el orden de su parámetro lat largo usando un visor WKT y ST_AsEWKT(target_table.geom)
.
Luego indexe para obtener el mejor rendimiento
CREATE INDEX idx_target_table_geom_gist
ON target_table USING gist(geom);