geo-registry

Table to points

Makes a point layer from a table with coordinate columns, such as a CSV of longitudes and latitudes.

Pitfall. Longitude and latitude swapped puts points in the wrong hemisphere or off the map.
Pitfall. Coordinates stored as text, or with commas as decimal separators, are read as empty.
About this operation
Also called XY Table To Point, Create points layer from table, CSV to points, Display XY Data, points from xy
Group conversion/points
Checks crs.present, crs.area_of_use
Pitfalls 2 listed above
Columbus tool Not stated
Notes Not stated
Status active
Broader Not stated
Narrower Not stated
Related Not stated

Parameters

Name Type Required Default Values Note
x_field field yes Not stated Not stated Longitude or easting column.
y_field field yes Not stated Not stated Latitude or northing column.
crs crs yes Not stated Not stated The CRS the coordinates are in, not the one wanted.

Inputs and outputs

Direction Name Type Geometry Note
Input table table Not stated Not stated
Output output vector point Not stated

In each engine

Engine Tool Parameters Differences
apache-sedona sedona.sql.ST_Point
  • x_field → x
  • y_field → y
  • crs Set it with ST_SetSRID; ST_Point gives the point no CRS.
  • A Spark SQL function: arguments are columns or column names, run over a Spark DataFrame.
gdal gdal vector make-point
  • x_field → x
  • y_field → y
  • crs → output-crs : The CRS given to the new points.
  • table → input
  • output → output
None noted
geopandas geopandas.points_from_xy
  • x_field → x
  • y_field → y
  • crs → crs
  • Returns the point geometries only; build the GeoDataFrame from the table and them.
postgis st_makepoint
  • x_field → #1
  • y_field → #2
  • crs Wrap the point in ST_SetSRID(point, srid); ST_MakePoint gives it no CRS.
None noted
qgis native:createpointslayerfromtable
  • x_field → XFIELD
  • y_field → YFIELD
  • crs → TARGET_CRS
  • table → INPUT
  • output → OUTPUT
  • TARGET_CRS defaults to EPSG:4326 if not set, which is wrong for projected coordinates.
sf sf::st_as_sf
  • x_field coords = c(x_field, y_field), passed through ...
  • y_field coords = c(x_field, y_field), passed through ...
  • crs crs = ..., passed through ...; without it the points have no CRS.
  • table → x
None noted
shapely shapely.points
  • x_field → coords
  • y_field → y
  • crs Shapely geometries carry no CRS; keep it alongside (a GeoSeries or GeoDataFrame).
  • Takes the coordinate values themselves (arrays), not column names; geopandas.points_from_xy does the same with a CRS.