在画地图的时候通常会用到平面投影,但是平面投影的单位通常是米,因此在出图的时候会出现下面的问题:(横纵左边出问题,他不是经纬度)

因此,写个函数计算一下

def lat_lon_x_y(long_yuandian, lat_yuandian, lon_goal_list, lat_goal_list, goal_crs):
    # import geopandas as gpd
    # from shapely.geometry import Point
    # lon_yuandian, lat_yuandian = [80.76, 14.764]
    # lon_goal = [90, 110,130]
    # lat_goal = [20, 40]

    lon_yuandian, lat_yuandian = [long_yuandian, lat_yuandian]
    lon_goal = lon_goal_list
    lat_goal = lat_goal_list
    goal_crs = goal_crs


    point_list = []
    for i in lon_goal:
        point_list.append(Point(i, lat_yuandian))
    s = gpd.GeoSeries(point_list,  crs=4326).to_crs(goal_crs)
    x_list = []
    for i in s:
        x_list.append(i.x)

    point_list = []
    for i in lat_goal:
        point_list.append(Point(lon_yuandian, i))
    s = gpd.GeoSeries(point_list,  crs=4326).to_crs(goal_crs)
    y_list = []
    for i in s:
        y_list.append(i.y)

    # print(x_list)
    # print(y_list)
    return lon_goal_list, lat_goal_list, x_list, y_list

就能正常显示经纬度了

 

 

更多推荐