# CRS from a planar projection around a point (pref. in Geopandas)

Is there a canonical way of projecting a set of points (for example, originally given in WGS84 latitudes/longitudes) into a planar approximation centered on a particular (latitude, longitude) pair and measured in km?

I've basically being doing some changes of coordinates by hand to get ball- and hexagon- shaped neighborhoods with a measurements given in km, but it seems simpler to have a local distortion and deal in planar (km x km) coordinates.

I'm not including any equations because I'm hoping this is a standard "named" CRS family. The Geopandas documentation claims it accepts proj.4 strings.

• it sounds like you want the azimuthal equidistant projection. e.g. for the center of bradford county pa usa, proj4 would be `+proj=aeqd +lat_0=41.803075 +lon_0=-76.497785` – Richard DiSalvo Nov 23 '19 at 22:48

The following script take the world data that ships with GeoPandas, finds the centroids of each country, and projects those points onto a meters-based projection. The projection I chose is US National Atlas Equal Area, which is EPSG 2163. On that site you can find another projected CRS, like one of the UTM zones.

``````%matplotlib inline  # if you want to view the output in a Jupyter notebook
import geopandas as gpd

# read in the world data

# the example at http://geopandas.org/projections.html#re-projecting
# recommends removing Antarctica
world = world[(world.name != "Antarctica") & (world.name != "Fr. S. Antarctic Lands")]

# the current CRS is WGS84 (EPSG 4326)
print(world.crs)

# find the centroid points for each of the world's countries
world['centroid_column'] = world.centroid

# change the CRS
countries = world.set_geometry('centroid_column').to_crs(epsg=2163)
``````

Looking at a plot of the `world.plot()` data shows the world with units of degrees: A view of the re-projected country centroids with `countries.plot() shows the points with units of meters: One possible answer is choosing one of the UTM frames, which have northings and eastings denominated in meters.

https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system

A limitation of this approach is having to select one of the partitions of Earth defined by the UTM standard, but at least in my application this is unlikely to be a problem.