介绍
在本文中,我的目标是开发一个利用矢量数据库来查询地址和位置数据的应用程序。
数据准备和向量嵌入
我们将使用受地震影响的城市的数据进行应用。
要安装矢量嵌入库,我们需要运行以下命令:
pip install pandas geopandas pyarrow transformer torch
如果您在安装pytorch库时遇到错误,可以从这里下载。
让我们导入我们安装的库:
from transformers import AutoTokenizer, AutoModel
import torch
import pandas as pd
import geopandas as gpd
读取数据:
df = pd.read_csv("bina.csv")
df.columns
"""
['il', 'ilce', 'mahalle', 'sokak', 'binaNo', 'x', 'y']
"""
坐标系变换:
gdf = gpd.GeoDataFrame(df,geometry=gpd.points_from_xy(df["x"],df["y"]),crs=4326)
gdf = gdf.to_crs("EPSG:3857")
df["x"] = gdf.geometry.x
df["y"] = gdf.geometry.y
组合地址信息并根据坐标创建向量:
df["adres"] = df[['il', 'ilce', 'mahalle', 'sokak', 'binaNo']].apply(lambda x: f"{x['mahalle']} mahallesi {x['sokak']} no {x['binaNo']} {x['ilce']} {x['il']} ",axis=1)
df["vector_geom"] = df[["x","y"]].apply(lambda x: [x["x"],x["y"]],axis=1)
df.to_csv("bina.csv",index=False)
df.sample(10)
它包含城市、区、社区、街道、建筑物号码和位置信息。