将地理数据框插入MongoDB

jq6vz3qz  于 2023-01-16  发布在  Go
关注(0)|答案(1)|浏览(127)

我有一个GeoDataFrame,如下所示:

id                  name                                         theoretica descriptio                   geometry
0   1  AIS Télécom Bretagne  SRID=4326;POLYGON((-4.57083333333333 48.385326...       None  POINT (-4.57008 48.35877)

我尝试将它插入到一个mongo数据库中。我使用了 insert_many,但是它似乎不起作用。我的代码片段如下:

my_dataframe = gpd.GeoDataFrame(df)
db = client['Marine_Database']
db.Theoritical_Coverage.insert_many(my_dataframe.to_dict('records'))

有什么方法可以将此 Dataframe 插入到我的数据库中吗?提前感谢

ltskdhd1

ltskdhd11#

您可以在Mongo中插入DataFrame,但您必须先将您的shapely对象'POINT'转换为geojson点对象。您可以通过以下方式实现这一点:

my_dataframe['geometry']= my_dataframe['geometry'].apply(lambda x:shapely.geometry.mapping(x))

这里有一个很好的例子,告诉你如何在数据库中插入数据:https://medium.com/ambee-air-quality-blog/converting-geographical-data-in-a-pandas-dataframe-to-a-mongodb-geopoint-object-12acbb00c4a

相关问题