Use `geopandas` to open shapefiles.
```python
import geopandas as gpd
gdf = gpd.read_file('path/to/shapefile.shp')
```
To read the CRS
```python
gdf.crs
---
<Projected CRS: EPSG:3857>
Name: WGS 84 / Pseudo-Mercator
Axis Info [cartesian]:
- X[east]: Easting (metre)
- Y[north]: Northing (metre)
Area of Use:
- name: World between 85.06°S and 85.06°N.
- bounds: (-180.0, -85.06, 180.0, 85.06)
Coordinate Operation:
- name: Popular Visualisation Pseudo-Mercator
- method: Popular Visualisation Pseudo Mercator
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
```
For most web applications, you will want to use EPSG code 4326 (WGS 84), a geographic coordinate system.
```python
gdf.to_crs(epsg=4326)
gdf.crs
---
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
```
Plot the data to quickly visualize with
```python
gdf.plot()
```
To convert to GeoJSON, use
```python
gdf.write_file('out.geojson', driver='GeoJSON')
```