我使用shapely
将CSV中包含的经度和纬度转换为WKB格式。对于上下文,CSV使用python AWS Lambda代码进行解析。
正在解析的文件格式如下:
名称 |
| 是/否纬度 | >经度|
---|---|---|---|
Test_1 | 这是一项测试 | 是56.872993679521244 | -4.141840954280135|
Test_2 | 这是一个测试 | 编号55.20394960316738 | -2.5378432182396935 |
在转换为wkb之前,必须将点定义转换为wkt,此外,坐标必须用空格而不是冒号分隔。
from shapely import wkb
from shapely import wkt
g = wkt.loads('Point(-4.141840954280135 56.872993679521244)')
new = wkb.dumps(g, hex=True, srid=4326)
print (new)
您需要将列值传递给Point
函数,如下所示-
def calculate_wkb(lon, lat):
g = Point(lon, lat)
new = wkb.dumps(g, hex=True, srid=4326)
return new
df['wkb'] = df.apply(lambda x: calculate_wkb(x.Longitude, x.Latitude), axis=1)