作为基于geopandas的空间数据分析系列文章的第二篇,通过本文你将会学习到geopandas中的坐标参考系管理。...纬度变化1度的真实距离恒等于: 地球极半径千米 可是经度每变化1单位对应的真实距离要随着纬度的变化而变化,经度变化1度的真实距离为: 这就导致我们既不能直接在地理坐标系下精确度量几何对象的长度、面积,也无法直接用地理坐标系在平面上绘制出几何对象真实的形状...且每个区域又进一步细分为南半球区域或北半球区域,譬如图7所示为美国本土跨过的区域: 图7 划分出的每个区域,其原点位于左下角顶点,距离区域中轴线500千米(图8): 图8 针对这样划分出的独立区域利用墨卡托投影法创建各自独立的坐标网格...从球心发散出的光穿过球体上每个位置点投射到外部圆筒内壁从而完成3D向2D的变换: 图9 当然,这样做的后果是越靠近极点的几何对象被拉伸形变得越严重(图10),这也就是为什么俄罗斯疆域看起来如此庞大的原因: 图10 世界各国真实大小与墨卡托投影后差别...3 geopandas中的坐标参考系管理 至此,我们已经对CRS有了较为全面的了解,打好了基础,接下来我们来正式学习geopandas中的坐标参考系管理。
作为基于geopandas的空间数据分析系列文章的第二篇,通过本文你将会学习到geopandas中的坐标参考系管理。...\pi\cdot赤道半径/360)\cdot\cos(当地纬度)\approx111.314\cos(当地纬度)(千米) \] 这就导致我们既不能直接在地理坐标系下精确度量几何对象的长度、面积,也无法直接用地理坐标系在平面上绘制出几何对象真实的形状...所示为美国本土跨过的区域: 图7 划分出的每个区域,其原点\((0,0)\)位于左下角顶点,距离区域中轴线500千米(图8): 图8 针对这样划分出的独立区域利用墨卡托投影法创建各自独立的坐标网格...3D向2D的变换: 图8 当然,这样做的后果是越靠近极点的几何对象被拉伸形变得越严重(图9),这也就是为什么俄罗斯疆域看起来如此庞大的原因: 图9 世界各国真实大小与墨卡托投影后差别...3 geopandas中的坐标参考系管理 至此,我们已经对CRS有了较为全面的了解,打好了基础,接下来我们来正式学习geopandas中的坐标参考系管理,geopandas调用pyproj作为CRS
PDF文件转换为图片 安装扩展 imagick 下载: PECL :: Package :: imagick (php.net) 安装: 解压后把 php_imagick.dll 复制到配置的扩展目录中...Download 安装: 执行安装后将安装目录下的 CORE_RL_.dll 这些文件拷贝到php根目录下 Ghostscript 下载: Ghostscript 完成上述扩展后重启 代码示例 # PDF转图片
0.9.0,作为一次比较大的版本更新,geopandas为我们带来了一系列新特性,今天的文章我们就来一起看看有哪些主要的功能变化吧~ 图1 2 geopandas 0.9.0重要新特性一览 出于对稳定性的考虑...,我选择新建虚拟环境来探索新版本geopandas,完整命令如下(顺便一提,0.9.0版本最低支持的Python版本为3.5): conda create -n geopandas-env python...read_file可直接读取存放单个矢量文件的zip压缩包 在以前的版本中,当我们的矢量文件存放在zip压缩包内时,使用gpd.read_file()直接读取时需要传入特殊格式的zip路径表达式(详见我以前撰写的...新版中增加的estimate_utm_crs()方法,都可以自动帮你推断最「合适」的经度带对应的横轴墨卡托投影坐标系: 图6 2.6 解决了explode()方法与pandas的冲突 我在geopandas...图8 除此之外,geopandas还提供了很多小的新特性,这里就不再一一赘述,感兴趣的读者朋友可以在https://github.com/geopandas/geopandas/releases/tag
图1 2 geopandas 0.9.0重要新特性一览 出于对稳定性的考虑,我选择新建虚拟环境来探索新版本geopandas,完整命令如下(顺便一提,0.9.0版本最低支持的Python版本为3.5.../cloud/conda-forge -y 2.1 read_file可直接读取存放单个矢量文件的zip压缩包 在以前的版本中,当我们的矢量文件存放在zip压缩包内时,使用gpd.read_file...estimate_utm_crs()方法,都可以自动帮你推断最合适的经度带对应的横轴墨卡托投影坐标系: ?...图7 2.7 绘图无需descartes依赖 用过geopandas绘制面要素的朋友都知道,以前版本的geopandas是需要第三方依赖库descartes,但在0.9.0版本中再也不需要啦!...图8 除此之外,geopandas还提供了很多小的新特性,这里就不再一一赘述,感兴趣的读者朋友可以在https://github.com/geopandas/geopandas/releases/tag
在测试MPSoC VCU的编解码时,经常需要使用NV12 YUV文件。YUV文件很大,所以经常依靠解压MP4等文件来产生NV12 YUV文件。...但是在使用FFMpeg时,发现使用选项“-pixel_format nv12”时,得到的文件实际上是yuv420p格式的,不是NV12格式。...需要使用选项“-pix_fmt nv12”,才能得到NV12格式的文件。如果格式不对,播放出来的图像是不正确的。...global headers:0kB muxing overhead: 0.000000% 上面ffmpeg的输出含有“rawvideo (NV12 / 0x3231564E), nv12”,说明它使用了...使用ffplay播放NV12 YUV文件的记录如下: C:\Temp\video>ffplay -f rawvideo -video_size 1920x1080 -pix_fmt nv12 xilinx
作为胶水语言,在Python中,目前还在使用的地理可视化库包尚有basemap、cartopy、geopandas等,但由于basemap是基于Python 2,而2已经不再维护,这意味着basemap...而geopandas是基于pandas的,属于商务图表利器,但对于气象科研,显得力不从心。现在仅介绍basemap接班者cartopy。 ?...其中需要我们重点关注的是: 默认投影(PlateCarree) 兰勃脱投影(Lambert) 墨卡托投影(Mercator) 极投影(我对此类投影的统一称呼,当然学名不叫极投影) 其中,默认投影适合单独省份或者地级市的绘制...,这种情况下其变形基本无法看出(内蒙古的meteoer请走开);兰勃脱投影适合中纬度大范围绘制,比如绘制全中国大公鸡、东亚形势、西北太平洋等;墨卡托投影适合低纬度赤道附近的绘制,一般研究台风、纬向环流等...gl.xlabels_top = False ##关闭上侧坐标显示 gl.ylabels_right = False ##关闭右侧坐标显示 gl.xformatter = LONGITUDE_FORMATTER ##坐标刻度转换为经纬度样式
前言 读者来信 我之前是 1、先用arcgis 栅格转点 2、给点添加xy坐标 3、给添加xy坐标后的点通过空间连接的方式添加行政区属性 4、最后计算指定行政区的质心 之前的解决办法是用arcgis 完成第一步和第二步...转换为 Dask-GeoPandas DataFrame 首先,使用 GeoPandas 读取地理数据文件: python import geopandas df = geopandas.read_file...然后,将其转换为 Dask-GeoPandas DataFrame: python import dask_geopandas 将 GeoPandas DataFrame 分区为 Dask-GeoPandas...读取Shapefile,然后转换为dask_geopandas对象。...使用更高效的空间连接 在使用dask_geopandas进行空间连接时,确保操作是高效的。你的代码尝试使用geopandas.sjoin,但是应该使用dask_geopandas.sjoin。
Web墨卡托投影墨卡托投影(Mercator)由荷兰地图学家墨卡托 (Gerardus Mercator) 于 1569 年提出。...Google基于墨卡托投影设计了 Web墨卡托投影 (Web Mercator)。首先,将基于椭球体的墨卡托投影简化为“正球体”,半球取WGS84椭球体的长半轴 6378137 m。...但由于Web墨卡托投影是将原本基于椭球体的墨卡托投影“简化”为了“正球体”。因此,Web墨卡托投影又叫伪墨卡托投影(Pseudo Mercator)、球面投影(Spherical Mercator)。...用Web墨卡托投影在平面后( PS:ThingJS API 提供了经纬度转Web墨卡托投影的方法,有兴趣可以自己试试)。在地“球”上过莫斯科和广州两点以大圆圆弧连接,如下图黄线。...• 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。
2 geopandas 0.10版本重要新特性一览 如果你已经安装了旧版本的geopandas,那么推荐执行下列命令进行geopandas的更新: conda update geopandas -c https...在以前的版本中,我们只能使用gpd.XXX()的方式来使用sjoin()、overlay()、clip()等方法,而在这次新版本更新中,我们可以像pandas里的merge()、join()那样作为方法使用...max_distance=0.35, distance_col='对应距离') ) 2.4 GeoSeries新增批量XY转点方法...from_xy() 新版本中为GeoSeries对象新增了from_xy()方法来快速实现坐标转点,下面与gpd.points_from_xy()的效果进行对比: gpd.points_from_xy(...: ---- 大家在了解到这些新功能和变动后,在使用新版geopandas时,如果遇到未知bug,欢迎在https://github.com/geopandas/geopandas/issues及时提交说明
2 geopandas 0.10版本重要新特性一览 如果你已经安装了旧版本的geopandas,那么推荐执行下列命令进行geopandas的更新: conda update geopandas -c...column='类型', zoom_start=4 ) 2.3 sjoin()、sjoin_nearest()、overlay()和clip()亦可作为GeoDataFrame的方法来使用... 在以前的版本中,我们只能使用gpd.XXX()的方式来使用sjoin()、overlay()、clip()等方法,而在这次新版本更新中,我们可以像pandas里的merge()、join()那样作为方法使用...max_distance=0.35, distance_col='对应距离') ) 2.4 GeoSeries新增批量XY转点方法...from_xy() 新版本中为GeoSeries对象新增了from_xy()方法来快速实现坐标转点,下面与gpd.points_from_xy()的效果进行对比: gpd.points_from_xy
数据加载与转换问题描述:从CSV文件加载地理数据时,发现经纬度列无法正确识别为坐标点。 ...解决方案:确保CSV文件中的经纬度列名符合标准,如latitude和longitude,然后使用geopandas.GeoDataFrame创建地理数据框。...解决方案:使用geopandas的空间索引来加速查询。...# 将WGS84坐标系转换为Web Mercatorgdf_webmercator = gdf.to_crs(epsg=3857)print(gdf_webmercator.crs)4....五、总结通过以上内容,我们了解了如何使用Pandas和Geopandas进行地理信息系统的数据处理与分析。掌握了这些技巧后,我们可以更高效地处理和可视化地理数据,从而为决策提供有力支持。
2 文件IO 2.1 矢量文件的读入 geopandas将fiona作为操纵矢量数据读写功能的后端,使用geopandas.read_file()读取对应类型文件,而在后端实际上是使用fiona.open...来读入数据,即两者参数是保持一致的,读入的数据自动转换为GeoDataFrame,下面是geopandas.read_file()主要参数: filename:str类型,传入文件对应的路径或url...图2 使用geopandas来读取这种形式的shapefile很简单: import geopandas as gpd data = gpd.read_file('geometry/china_provinces...图20 GeoPackage 对于gdb文件,由于ESRI的限制,暂时无法在开源的geopandas中导出,但我们可以用QGIS中的GeoPackage作为替代方案(开源世界万岁O(∩_∩)O~~)...,只需要将driver参数设置为GPKG即可,这里需要注意一个bug:在使用geopandas导出GeoPackage文件时,可能会出现图21所示错误: ?
而我们作为使用者,当然是希望geopandas处理分析矢量数据越快越好。...2 dask-geopandas的使用 很多朋友应该听说过dask,它是Python生态里非常知名的高性能计算框架,可以针对大型数组、数据框及机器学习模型进行并行计算调度优化,而dask-geopandas...2.1 基础使用 dask-geopandas与geopandas的常用计算API是相通的,但调用方式略有不同,举一个实际例子,其中示例文件demo_points.gdb由以下代码随机生成并写出: import.../demo_points.gdb', driver='OpenFileGDB') 在使用dask-geopandas时,我们首先还是需要用geopandas进行目标数据的读入,再使用from_geopandas...()将其转换为dask-geopandas中可以直接操作的数据框对象,其中参数npartitions用于将原始数据集划分为n个数据块,理论上分区越多并行运算速度越快,但受限于机器的CPU瓶颈,通常建议设置
地理坐标系转换到投影坐标系的过程理解为投影,即将不规则的地球曲面转换为平面。在当前的信息化的技术条件下,直接使用地理坐标系是不是更加真实准确,像谷歌地球;投影毕竟存在各种变形。...对应的数学描述为:当W平面中Ax = y无解时,转换为Px= y的形式,使其有解。 当然,这样做有什么好处?...Web墨卡托投影有两个相关的投影标准,经常搞混: EPSG4326:Web墨卡托投影后的平面地图,但仍然使用WGS84的经度、纬度表示坐标; EPSG3857:Web墨卡托投影后的平面地图,坐标单位为米...需要注意的是,对于墨卡托投影来说,越到高纬度,大小扭曲越严重,到两极会被放到无限大,所以,墨卡托投影无法显示极地地区。下图来自维基百科,可以看到墨卡托投影下每个国家的大小和实际大小的差异。...空间参照系至少定义以下内容: 基础坐标系的测量单位(度、米等) 最大坐标值和最小坐标值(也称为边界) 缺省线性测量单位 数据是平面数据还是椭球体数据 用于将数据转换为其它 SRS 的投影信息 每个空间参照系均有一个标识符
使用墨卡托投影法将经纬度坐标投影为平面坐标。...end tic format long g [x_p ,y_p] = ll_xy(x,y); x_p = x_p - mean(x_p); y_p = y_p - mean(y_p); toc 参考文章:墨卡托投影法将经纬度转换为平面坐标
CRS(坐标参考系统):可选字段,指定了GeoJSON数据使用的坐标系统。...3.2、使用python将Shapefile转化为GeoJSON 3.2.1、安装geopandas库 pip install geopandas 3.2.2、使用geopandas读取Shapefile...文件,并转换为GeoJSON格式 import geopandas as gpd # 读取Shapefile文件 shp_file_path = 'path_to_your_shapefile.shp...' # 替换为你的Shapefile路径 gdf = gpd.read_file(shp_file_path) # 将GeoDataFrame转换为GeoJSON格式 # epsg=4326代表WGS84...' # 替换为你的Shapefile路径 gdf = gpd.read_file(shp_file_path) # 使用simplify方法简化几何,tolerance参数控制简化的精度 # 值越小
使用geopandas.read_file()读取对应类型文件,而在后端实际上是使用fiona.open来读入数据,即两者参数是保持一致的,读入的数据自动转换为GeoDataFrame。...时,传入对应图层的名称 下面结合上述参数,来介绍一下使用geopandas.read_file()在不同情况下读取常见格式矢量数据的方法。...本文使用到的所有数据都可以在文章开头提及的Github仓库对应本文路径下找到: 图1 2.1.1 shapefile 作为非常常见的一种矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持...下面分为不同情况来介绍: 完整的shapefile 如图2,这是一个完整的shapefile: 图2 使用geopandas来读取这种形式的shapefile很简单: import geopandas...', layer='layer3', encoding='utf-8') 图20 GeoPackage 对于gdb文件,由于ESRI的限制,暂时无法在开源的
中国地图就使用这种投影。投影中心点为30°N,105 ° E。又称地平投影。 ? 地平投影 墨卡托投影 世界地图,航海图常使用墨卡托投影。...因此,大范围的小比例尺地图只能供了解地表现象的分布概况使用,而不能用于精确的量测和计算。 墨卡托投影是等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。...地图中常使用的各种坐标 以google地图,百度地图举例。...地图大多使用墨卡托投影。平面坐标系原点与经纬度原点一致。 ? 平面坐标 像素坐标 理解这个像素坐标,需要先将地图缩小到最大级别。就是整个屏幕显示的就是墨卡托投影的地图。...因为找不到原文链接,所以无法列出来,深感抱歉。 ---- 最后欢迎大家访问我的github站点,关注欧阳大哥2013。
历经10年迭代升级,geopandas充分完善了其在GIS数据分析上的功能,使得我们可以使用类似pandas的操作方式,便捷且高性能的开展各种常用的GIS分析运算,极大增强了Python在GIS分析领域的能力...今天的文章,费老师我就将带大家一起快速了解在全新的1.0版本中,新的功能特性、优化提升以及相关API的变动情况~ 2 geopandas 1.0版本介绍 如果你还未曾安装使用过geopandas,我最推荐的方式是新建虚拟环境...的安装: mamba create -n geopandas-env python=3.9 -y && mamba activate geopandas-env && mamba install geopandas...又满足字段匹配关系: 2.3 标记为废弃的API 新版本中也新增了一系列标记为废弃的API,将会在未来某个版本正式移除,请注意及时调整你的相关代码逻辑,其中主要的有: unary_union将废弃,更换为...: crs属性赋值以修改坐标系的方式将在未来版本被禁用,请统一使用set_crs()代替 篇幅有限,未能详尽介绍全部新版本内容,完整的更新日志请移步:https://github.com/geopandas
领取专属 10元无门槛券
手把手带您无忧上云