pythonpython-3.xgeopandas

geopands is missing states.geojson file


All, I got the following error when trying to import states.geojson file as described in this page https://www.twilio.com/en-us/blog/geospatial-analysis-python-geojson-geopandas-html. I think that this file is among the pre-installed files with the geopands.

I am using geopandas version 0.14.4

import geopandas as gpd
states = gpd.read_file('states.geojson') 

Here is the error

Traceback (most recent call last):

  File fiona/ogrext.pyx:130 in fiona.ogrext.gdal_open_vector

  File fiona/ogrext.pyx:134 in fiona.ogrext.gdal_open_vector

  File fiona/_err.pyx:375 in fiona._err.StackChecker.exc_wrap_pointer

CPLE_OpenFailedError: states.geojson: No such file or directory


The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  Cell In[1], line 2
    states = gpd.read_file('states.geojson') # built in-file

  File ~/anaconda3/lib/python3.11/site-packages/geopandas/io/file.py:289 in _read_file
    return _read_file_fiona(

  File ~/anaconda3/lib/python3.11/site-packages/geopandas/io/file.py:315 in _read_file_fiona
    with reader(path_or_bytes, **kwargs) as features:

  File ~/anaconda3/lib/python3.11/site-packages/fiona/env.py:457 in wrapper
    return f(*args, **kwds)

  File ~/anaconda3/lib/python3.11/site-packages/fiona/__init__.py:342 in open
    colxn = Collection(

  File ~/anaconda3/lib/python3.11/site-packages/fiona/collection.py:226 in __init__
    self.session.start(self, **kwargs)

  File fiona/ogrext.pyx:876 in fiona.ogrext.Session.start

  File fiona/ogrext.pyx:136 in fiona.ogrext.gdal_open_vector

DriverError: Failed to open dataset (flags=68): states.geojson

Thanks


Solution

  • The read_file method of geopandas expect a file adress as input as can be seen here in the documentation https://geopandas.org/en/stable/docs/reference/api/geopandas.read_file.html

    import geopandas as gpd
    gpd.read_file("./directory/fileName.json")
    

    it seems that the geojson that you are seeking is a geojson file for the US states. You could find this here https://github.com/PublicaMundi/MappingAPI/blob/master/data/geojson/us-states.json?short_path=1c1ebe5

    download the file and then use the function to read it and store it as a geodataframe