首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python中的osmnx距某条边最近的点

使用Python中的osmnx距某条边最近的点
EN

Stack Overflow用户
提问于 2019-09-29 05:21:51
回答 1查看 421关注 0票数 0

我正在尝试使用Python中的osmnx库将一组点(lat,long)关联到边。

我想找到距离x内的一条边最近的点。

我有一条边,我想画一个圆,然后用给定的半径计算有多少点进入这个圆。我有每个点的经纬度坐标,但我不知道如何计算边的经纬度坐标。我也有由那条边连接的节点的坐标。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 09:30:55

代码语言:javascript
复制
    import pandas as pd
    from shapely.ops import transform
    from functools import partial
    import pyproj
    from shapely.geometry import Point

    mid_point = Point(lon,lat) # UNPROJECTED CO-ORDINATES OF MID-POINT OF AN EDGE
    node_point = Point(lon_node, lat_node)# UNPROJECTED CO-ORDINATES OF THE NODE
    x = 500 #DISTANCE IN METERS

    #TRANSFORM INTO PROJECTED CO-ORDINATES
    project = partial(pyproj.transform,pyproj.Proj(init='epsg:4326'),pyproj.Proj(init='epsg:3112'))
    mid_point_projected = transform(project, mid_point)
    node_point_projected = transform(project, node_point)

    #CREATE BUFFER CIRCLE WITH DISTANCE X METRES WITH CENTRE AT EDGE MID-POINT
    buffer_circle = mid_point_projected.buffer(x)

    #PERFORM POINT-IN-POLYGON ANALYSIS TO CHECK WHETHER THE NODE FALLS WITHIN THE BUFFER CIRCLE
    print(buffer_circle.contains(node_point_projected))

需要注意的几点:

澳大利亚兰伯特大地测量参数数据集是坐标参考系和坐标变换的结构化数据集,可通过此在线注册表访问(www.epsg-registry.org)

  • I已将其转换为代表GDA94 /澳大利亚地球科学协会(https://epsg.io/3112)的EPSG3112。您应该将其转换为适合您的研究区域的相应EPSG代码。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58150402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档