首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lon=180上的缓冲区行导致geopandas matplotlib带状

基础概念

lon=180指的是地理坐标中的经度180度线,这是国际日期变更线的一部分。在地理信息系统(GIS)中,缓冲区(Buffer)是指围绕某一地理要素(如点、线、面)创建的一定距离的区域。当在lon=180这条线上创建缓冲区时,可能会遇到一些特殊的问题,尤其是在使用geopandasmatplotlib进行可视化时。

相关优势

  • 地理空间分析:缓冲区分析是地理空间分析中的基本操作,用于评估地理要素的空间关系。
  • 数据可视化:通过缓冲区可以直观地展示地理要素的影响范围,增强地图的表现力。

类型

  • 点缓冲区:围绕点要素创建的圆形区域。
  • 线缓冲区:围绕线要素创建的带状区域。
  • 面缓冲区:围绕面要素创建的区域。

应用场景

  • 城市规划:评估新建基础设施对周边环境的影响。
  • 环境保护:确定生态敏感区的保护范围。
  • 交通规划:分析道路扩建对周边土地使用的影响。

问题及原因

在使用geopandasmatplotlib绘制lon=180上的缓冲区时,可能会遇到带状(striping)问题。这通常是由于数据在lon=180lon=-180之间不连续导致的。由于地球是球体,经度从-180度到180度循环,因此在处理跨越国际日期变更线的数据时需要特别小心。

解决方法

为了避免带状问题,可以采取以下几种方法:

  1. 数据预处理:将跨越lon=180的数据分割成两部分,分别处理。
  2. 使用合适的投影:选择适合的地图投影方式,如Mercator投影或Robinson投影,这些投影方式可以更好地处理极地和国际日期变更线附近的数据。
  3. 调整绘图参数:在matplotlib中调整绘图参数,如设置合适的坐标轴范围和步长,以避免数据的不连续性。

以下是一个简单的示例代码,展示如何在geopandas中处理lon=180上的缓冲区:

代码语言:txt
复制
import geopandas as gpd
from shapely.geometry import Point, Polygon
import matplotlib.pyplot as plt

# 创建一个点要素
point = Point(180, 0)

# 创建缓冲区
buffer = point.buffer(1)

# 转换为GeoDataFrame
gdf = gpd.GeoDataFrame(geometry=[buffer])

# 绘制缓冲区
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
ax = world.plot(color='white', edgecolor='black')
gdf.plot(ax=ax, color='red', markersize=50)

plt.show()

参考链接

通过以上方法,可以有效解决在lon=180上创建缓冲区时遇到的带状问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

聊一聊我常用的6种绘制地图的方法

= None show(p) 可以看到已经有内味了,唯一美中不足的就是南海的十三段线没有展示出来 geopandas GeoPandas 是基于 Pandas 的地图可视化工具,其数据结构完全继承自...Pandas,对于熟悉潘大师的同学来说还是非常友好的 还是先画一张世界地图 import pandas as pd import geopandas import matplotlib.pyplot...as plt %matplotlib inline world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres...')) world.plot() plt.show() 这也是 geopandas 官网上的经典图片,可以看到非常简单,除去 import 代码,仅仅三行,就完成了地图的绘制 下面我们继续绘制中国地图...Leaflet.js 库的映射能力之上的高级地图绘制工具,通过 Python 操作数据,然后在 Leaflet 地图中可视化,可以灵活的自定义绘制区域,并且展现形式更加多样化 首先是三行代码绘制世界地图

3.7K20
  • Python常用的6种绘制地图的方法

    、bokeh、basemap、geopandas、cartopy Boken 首先我们先介绍 Boken 绘制地图的方法 Bokeh 支持创建基本地图可视化和基于处理地理数据的地图可视化 画一张世界地图...可以看到已经有内味了,唯一美中不足的就是南海的十三段线没有展示出来 geopandas GeoPandas 是基于 Pandas 的地图可视化工具,其数据结构完全继承自 Pandas,对于熟悉潘大师的同学来说还是非常友好的...还是先画一张世界地图 import pandas as pd import geopandas import matplotlib.pyplot as plt %matplotlib inline...这也是 geopandas 官网上的经典图片,可以看到非常简单,除去 import 代码,仅仅三行,就完成了地图的绘制 下面我们继续绘制中国地图,这次我们加上九段线信息 china_nine = geopandas.read_file...': 113.65000, 'lat': 34.76667},         'style': "stamen-terrain",         'center': {'lon': -20, 'lat

    6.6K20

    Part3-1.获取高质量的阿姆斯特丹建筑立面图像(附完整代码)

    3.1 使用geopandas找到街景点(方法1) 1)读取阿姆斯特丹矢量道路数据 2)对建筑做缓冲区 3)裁剪道路数据 4)使用shapely的nearest_point找出最近的两个点 5)使用向量相乘的原理计算两个点间的角度...注意: 如果不保留拓扑结构,简化可能会导致无效的几何对象,而且简化可能对坐标的顺序敏感:仅在坐标顺序上不同的两个几何体可能会被不同地简化....我们先对读取s行问获取的阿姆斯特丹的道路,进行简单修复,然后对对建筑物做缓冲区,用于提取建筑物周围的道路,减少计算量。...角度NEAR_ANGLE有特殊的规定:生成的角度是输入要素(建筑物上的点)对于邻近要素(街道上的点)的角度,并且转换前的角度的表示方式是:在方法参数中使用平面方法时,角度在 -180° 到 180° 的范围内...转换后,因为要获取街道街景,要以(街道上的点)为原点,朝向建筑物上的点的角度,并且角度表示为:角度范围在0-360度,0°代表北,90°代表东,180°代表南,270° 代表西。

    69910

    python可视化 | 绘制中国降雨分布(添加等高线、比例尺、指南针、南海诸岛、九段线)

    ') # plt.text(lon0,lat0+size,'0',horizontalalignment = 'center') #原始代码中包含了三种样式的图例,样子都还不错。...#ax:是我们创建的子图 #lon,lat:是我们图例想要放在那个位置的坐标,根据个人喜好来!!!...#length:是我们比例的你所输入的比例,比如200等 #size:是控制比例尺的高度的(比例尺上三根竖线的高度,一会下面会有展示的) 数据处理和空间插值 import geopandas import...as mpl #mpl.use('Qt5Agg') #%matplotlib auto from mpl_toolkits.basemap import Basemap, cm import matplotlib.patches...南海诸岛子图绘制cartopy比较简单,然而目前基本是用Basemap和geopandas做的。把cartopy加上南海诸岛子图基本上是与BUG斗争,遂放弃。

    2.8K41

    Python空间+气泡图完美绘制房价分布

    今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),具体为空间气泡图的绘制...,主要涉及的内容如下: geopandas geojson数据格式读取并可视化展示 单独添加散点大小图例图层 adjustText 库解决文本重叠问题 geopandas geojson数据操作 这里我们选择的为香港地图的...由于数据的经纬度是直接基于高德地图进行解析的,导致存在部分数据经纬度信息出错,我们使用pandas进行简单的数据筛选,具体就不再展示,后面会推出系列教程推文,数据预览如下: ?...这里主要使用红色框中的数据进行绘制,即使用scatter()方法加合理设置散点大小即可,代码如下: for x,y,price in zip(scatter_se.lon,scatter_se.lat,...,这是对matplotlib 图例设置的定制化设定,也适用于其他图例。

    1.9K20

    Python 空间绘图 - 房价气泡图绘制

    今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),...具体为空间气泡图的绘制,主要涉及的内容如下: geopandas geojson数据格式读取并可视化展示 单独添加散点大小图例图层 adjustText 库解决文本重叠问题 geopandas geojson...由于数据的经纬度是直接基于高德地图进行解析的,导致存在部分数据经纬度信息出错,我们使用pandas进行简单的数据筛选,具体就不再展示,后面会推出系列教程推文,数据预览如下: ?...这里主要使用红色框中的数据进行绘制,即使用scatter()方法加合理设置散点大小即可,代码如下: for x,y,price in zip(scatter_se.lon,scatter_se.lat,...,这是对matplotlib 图例设置的定制化设定,也适用于其他图例。

    1.6K30

    大数据告诉你,台风最喜欢在我国哪个省市登陆

    所以这里无法对数据的精确性和完整性做保证,主要是想运用python对数据做分析展示,看看台风在等级、地点、时间上的分布。...主要工具:Python 3.6、pandas、numpy、matplotlib、seaborn、urllib、geopandas、wordcloud 【分析流程】 1、导入相关库 # 导入相关库 import...pandas as pd import numpy as np import matplotlib.pyplot as plt import geopandas import seaborn as...格式,这是geopandas库用于地理空间可视化的专有数据格式 geo_data = geopandas.GeoDataFrame(data,geometry=xy) # 读取已经下载好的中国地图shapefile...湛江市和台东县是台风最喜欢登陆的市、县。 从时间上看,年平均登陆台风数量9次左右,主要集中在8、9月份,8月份的台风等级中位数较高,并且强台风主要出现在9月份前后。 END

    1K20

    python绘图 | 空间地图上散点气泡绘制

    今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),...具体为空间气泡图的绘制,主要涉及的内容如下: geopandas geojson数据格式读取并可视化展示 单独添加散点大小图例图层 adjustText 库解决文本重叠问题 geopandas geojson...由于数据的经纬度是直接基于高德地图进行解析的,导致存在部分数据经纬度信息出错,我们使用pandas进行简单的数据筛选,具体就不再展示,后面会推出系列教程推文,数据预览如下: ?...这里主要使用红色框中的数据进行绘制,即使用scatter()方法加合理设置散点大小即可,代码如下: for x,y,price in zip(scatter_se.lon,scatter_se.lat,...,这是对matplotlib 图例设置的定制化设定,也适用于其他图例。

    2.3K21

    Python可视化与basemap数据地图系列1

    最近在梳理Python中可以制作数据地图的可视化工具包,分别实践了geopandas、folium、Basemp,通过对比发现,静态地图中最为成熟的最终还得是Basemap工具,它是...Basemap工具在地理信息读写、坐标映射、空间坐标转化与投影等方面做的要比geopandas更加成熟,它可以使用常规的地图素材数据源(shp)作为底图进行叠加绘图,效果与精度控制比较方便,图表质量堪比...import itchat import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib...from matplotlib.patches import Polygon from mpl_toolkits.basemap import Basemap from matplotlib.collections..._4p.shp,chinaprovincecity.csv均为之前推送过的R语言ggplot2系列所用数据源,公开在github上: https://github.com/ljtyduyu

    2K50

    常见地图白化方法(一)

    地图白化的原理是利用 shapefile 文件中的多边形坐标来创建一个剪切路径,然后将这个路径应用到 matplotlib 的绘图对象上,使得只有路径内的数据可见,路径外的数据被隐藏或覆盖。...气象家园的五星上将兰溪之水说过,其实所谓的“白化”一般就两种途径:①mask数据;②mask图形 方法一 set_clip_path方法 matplotlib 官方函数示例 import numpy as...np import matplotlib.cm as cm import matplotlib.pyplot as plt from matplotlib.path import Path from...,你这geo_list是什么,根本看不懂 哎呀,别急,马上给你print出来 geo_list[17] 你问我为什么知道广东省的序号是17,那当然是用geopandas看的 shp = gpd.read_file...这时这个方法就显示出弊端,读者的shp千变万化,没安装geopandas又对自己的shp列表不熟,则要一一排查geolist 方法二 rioxarray的rio.clip import os import

    15010

    常见地图白化方法(二)

    前言 地图白化是一种绘制地图的技术,它可以实现对感兴趣区域以外的数据进行遮盖或填充白色的效果,从而突出显示目标区域的特征。...地图白化的原理是利用 shapefile 文件中的多边形坐标来创建一个剪切路径,然后将这个路径应用到 matplotlib 的绘图对象上,使得只有路径内的数据可见,路径外的数据被隐藏或覆盖。...draw_maps, clip_contours_by_map import xarray as xr import os import numpy as np import xarray as xr import matplotlib.pyplot...import xarray as xr import os import numpy as np import xarray as xr import matplotlib.pyplot as plt...import cartopy.crs as ccrs import cmaps import geopandas as gpd import salem import cartopy.io.shapereader

    13610

    气象编程 | cdo配合shape文件提取CMIP6指定区域数据

    2、数据处理 首先导入需要的库 import numpy as np import xarray as xa import geopandas as geo import salem 然后,把中国中国区域的...接下来,我们就可以用geopandas库直接对当前的CMIP6数据进行掩码。...第三行,仅保留需要的风速数据,第四行,我们就把掩码后的数据另存为nc文件了。...这里还需要注意一点的是,经过掩码之后,output.nc文件跟CMIP6.nc文件大小(基本上)还是一样大,至于原因,我想可能是这个操作只是根据shape文件,把shape文件之外的区域值全部设置为nan...其实只看图片效果,可能还想不明白,为什么output2的文件大小会减少的如此之多,但结合nc文件的lat和lon数据,就能想明白了,这里的数据已经不是全球180x360的数据了。 ----

    4.3K21

    python绘图 | salem一招解决所有可视化中的掩膜(Mask)问题

    引言 对于空间数据,我们感兴趣的往往是其中的某一部分,对于不需要的部分需要做一些掩膜(Mask)。 比如只关注海洋的数值变化,那么陆地上的数值对我其实是一种干扰,就要想办法掩盖掉。...LongitudeFormatter,LatitudeFormatter from cartopy.io.shapereader import Reader, natural_earth import matplotlib.pyplot...as plt import matplotlib.ticker as mticker import geopandas 获取数据 best_gfs = TDSCatalog('http://thredds.ucar.edu.../China_shp_lqy/' shp = geopandas.read_file(shp_path + 'province.shp') shp.crs = {'init': 'epsg:4326'}...(zip包获取后台回复“salem”) 用salem.roi提取区域的时候,维度名称要用标准的lat,lon,如果出现lat_0,lon_0是无法识别的。

    12.3K1311

    动手学geopandas地理数据分析

    如何用Python分析诸如各国人口和GDP数据,各省市房价等地理相关数据,并在地图上优雅地展示你的结果?你需要geopandas!??...一,GeoPandas总体介绍 geopandas 是pandas在地理数据处理领域的扩展包,主要基于Pandas(普通数据处理), shapely(地理数据分析),fiona(地理数据读取),matplotlib...geopandas 的以下功能非常常用: 1,文件读写 2,空间查询 3,坐标转换 4,空间join 5,地理数据可视化 #安装geopandas !...dfmercator = dfwgs.to_crs("EPSG:3395") print(dfmercator.crs) dfmercator.plot() 4, 空间join #空间join实际上是利用空间索引实现的...#和DataFrame的plot函数相比,GeoDataFrame的plot函数的kind参数在"line","bar"等基础上增加了"geo”类型的绘图类别。

    1.5K30
    领券