geopandas实现坐标点在对应的地图上显示

前期准备

以武汉市休闲市场的商家为例,准备一张武汉市的地图,我是用的是shp格式的,一份有关商家的经纬度的csv格式文件。有需要地图的可以私我,在2020年我应该每天都会看后台。

代码部分

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  #为了在jupyter中使用,不用jupyter会报错。
import os
import geopandas as gp
from shapely.geometry import Point
 
world = gp.read_file('G:\wuhan_map\wuhan.shp')
cities = pd.read_csv('G:\wuhan_map\wuhan.csv')

xy = [Point(xy) for xy in zip(cities['lng'],cities['lat'])]
pts = gp.GeoSeries(xy)
 
fig, ax = plt.subplots() #返回一个包含figure和axes对象的元组
"""fig是用来设置图像大小参数,ax是行列有多少个点""" 
ax.set_aspect('equal')
 
world.plot(figsize = (100,120),ax=ax, color='blue', edgecolor='black')
pts.plot(figsize = (100,120),ax=ax, marker='o', color='red', markersize=5)

第一次执行完代码之后发现图像很畸形,在调整的figsize之后仍然没有用
在这里插入图片描述单独调用武汉市地图又是正常的大小
在这里插入图片描述
然后发现左下角有一个很扎眼的红点,推测可能是因为这个点的坐标不再武汉市内,但是又必须将它显示出来,假如单纯的放大就不可行了,我在查找坐标文件后发现果然有一个值比较异常,删除之后再次执行就没有问题了
在这里插入图片描述

发布了11 篇原创文章 · 获赞 0 · 访问量 102

猜你喜欢

转载自blog.csdn.net/qq_37746223/article/details/105166909