自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 python - 如何使用 Matplotlib 绘制 Shapely 多边形和对象

我想将 Shapely 用于我的计算几何项目。为此,我需要能够可视化和显示多边形、线条和其他几何对象。使用 Matplotlib绘制shapley。以绘制polygon为例。本质上是应用shapely几何属性获取坐标,然后绘图,做下记录。

2024-06-07 19:23:18 416

原创 解决:NotImplementedError: Multi-part geometries do not provide a coordinate sequence

尽管我的geopandas数据看起来只包含行,但其类型可能包含MultiLineString类型。如果这样的话,这时如果用。解决办法:在读取坐标之前,需要将gdf中的所有MultiLineString分解成单个的LineString类型。这里只需要一行代码即可解决问题。工作中的点滴记录分享在此。

2024-03-18 15:24:14 760

原创 解决:UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail.多线程中Matplotlib

最近要在多线程中调用matplotlib绘图,在运行时报出“py:227: UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail.fig = plt.figure(figsize=(8,5))”的错误。导致这个问题的原因似乎是多线程过程中若果调用matplotlib会导致绘图顺序打乱,甚至出现图形不对,所以matplotlib干脆就禁止了在多线程中的应用。如此这番操作以后,以上的警告确实没了。

2024-03-16 08:32:46 1844 1

原创 python :计算天地图API静态地图的自适应缩放级别zoom

已知:图片尺寸大小(比如宽700dpi,高600dpi),绘图范围(比如经度102-105、纬度33-35)或者需要绘图的geopandas几何数据。目的:计算合适的缩放级别zoom,能将范围内的几何要素全部展现的图片上,并尽可能的展现更多地图细节。步骤:1、获取本机电脑显示屏的分辨率和实际物理尺寸,并计算每个DPI对应的实际物理尺寸;4、计算图片尺寸宽度、高度与经纬度距离m的缩放比例,并取最大缩放比例为参考值r;5、对照天地图各个缩放级别的比例尺,最终确定合适的缩放级别zoom。

2024-03-15 09:30:58 639

原创 服了!pyinstaller 打包遇到的Fiona、GDAL问题,无语

用pip install pyinstaller 安装好的是5.1版本,然后用pyinstaller -w -i "my.ico" xxxx.py进行打包,打包的应用程序一点开启动就报错退出了,报错提示也看不到,后来就找啊找,解决办法就是pyinstaller包降版本,我把它降到4.8版本,诶,打包的应用程序可以点开了,大部分功能都是可以运行的,欣喜若狂啊当时,以为就完事了。最后,我又开始瞎碰,我觉得吧可能是fiona的问题,看了一下fiona的版本是1.9.2,这可能是安装某个库时自动安装的,为啥?

2023-10-08 11:34:40 494 1

原创 Pyqt5:QLineEdit用正则表达式作为输入验校器

在用QLineEdit作为输入的时候经常要对其数据进行验校,以组织错误输入的输入,这里用用正则表达式来完成对上图中文本输入框的验校。

2023-06-30 10:57:43 550

原创 Python:多线程批量下载高德地图最新的省、市、县行政边界地图数据

用到mapinfo制作地图数据经常因为行政区划图的变更而烦恼,因此,获取实时最新的行政区划图边界地理数据非常有必要。通过调用上述自定义的类,就可以自动下载所有省、市、线边界的json数据,并应用geopandas将其转换成mapinfo、arcgis可应用的shp格式

2023-06-30 10:34:30 1512

原创 matplotlib:报错:ImportError: Cannot load backend ‘TkAgg‘ which requires the ‘tk‘ interactive 的处理记录

第二种情况就是普通的直接用matplotlib绘制显示图像,我试图用上述同样的方法,不论是用'TkAgg'还是'Agg',结果都是失败的,或者提出了新的错误提示。我的情况分两种,第一个我是将matplotlib嵌入到pyqt5中显示的,根据网友的提示,我将上述代码中的'TkAgg'换乘了'Agg',程序就可以运行了。

2023-05-30 08:57:16 5464 1

转载 python安装Fiona出现Microsoft Visual C++ 14.0 is required.解决方法,及python库安装通用方法

一般提示numpy、matplotlib、pandas、scipy、opencv-python、sklearn等等这些包的版本错误不用麻烦了,以前看到网上什么要这个版本和那个版本匹配,我一般直接把那个不匹配的版本直接pip uninstall 卸载了使用方法2或者conda install 重新安装,他们会自动帮你匹配,建议使用方法2,因为conda 会帮你乱卸载或者安装一大堆东西。如果上面的方法没有解决,那么你再到网上看看博客里的版本对应,安装指定版本的包试试看,无非就是:pip install -i。

2023-03-11 13:23:08 2142

转载 The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compil

The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compil

2022-10-15 22:00:29 706

原创 geopandas 安装详细步骤记录

接下来就是重头戏安装geopandas了,需要注意的是这时候是个空的python3.6环境,尽管geopandas以来pandas包,但是这时切忌不要第一步就安装geopandas,因为安装pandas时会自动安装numpy,如果这个numpy的版本不对,就能把人累死你也找不出原因。既然都安装到这个份上了,不放把面向地理空间数据科学的库pysal也安装以下,注意,这个pysal也是依赖geopandas的,所以只有先安装好geopandas之后才能安装pysal。注意,在这一步骤,安装过程中。

2022-10-15 21:41:18 2219

转载 WGS84 转 UTM(Python代码版)

基于Python语言,使用pyproj库进行WGS 和UTM的转换。

2022-09-09 09:53:49 1468

转载 EPSP是什么

EPSP的英文全称是European Petroleum Survey Group,中文名称为欧洲石油调查组织。这个组织成立于1986年,2005年并入IOGP(InternationalAssociation of Oil & Gas Producers),中文名称为国际油气生产者协会。EPSG对世界的每一个地方都制定了地图,但是由于座标系不同,所以地图也各不相同。中国地图比如对于中国来讲,以地球的几何球心为中心的地图就是EPSG:4479,以地球的椭球焦点为中心就是EPSG:4480,此外还有EPSG:

2022-06-24 10:27:15 2507

原创 Scipy中griddata()函数解决等高线不闭合的办法

如以上两图所示,我们在应用matplotlib中的contour()绘制等值线的时候经常会因为边缘数据的缺少,而导致绘制出来的等高线的边缘并不闭合,然而我们有的时候要应用等值线对相关数据进行分析的时候,希望边缘是闭合的的等值线。怎么办呢?我们先看一下我解决后的等值线如下:这是两幅相对应的图片,经过处理后的数据边缘部分是闭合的,要做到如上图一样,只需要在我们进行插值处理的时候添加一个参数即可。scipy中的griddatah函数用来进行插值处理,函数形式如下:scip...

2022-04-18 15:03:36 1290

原创 Pandas求两个dataframe差集 详解

1、交集intersected=pd.merge(df1,df2,how='inner')延伸(针对列求交集)intersected=pd.merge(df1,df2,on['name'],how='inner')2、差集(df1-df2为例)diff=pd.concat([df1,df2,df2]).drop_duplicates(keep=False)差集函数的详解:1、Pandas 通过 concat() 函数能够轻松地将 Series 与 DataFrame 对象组合在一

2022-04-14 10:28:43 19493 2

原创 shapely的Polygon构建多边形不起作用解决记录

我要构建多边形用于数据判断,之前在装pysal的时候安装了shapely,档我这次向调用它构建多边形的时候发现怎么都不起作用,具体表现为from shapely.geometry import Polygonpolygon = Polygon([(0, 0), (1, 1), (1, 0)])print(polygon)这个简单的例子它不输出多边形结果。然后我上网查了下,最终决定重新安装shapely在https://www.lfd.uci.edu/~gohlke/pythonlibs

2022-04-08 12:33:07 1722

原创 pysal安装过程,避坑记录

Pysal是一个面向地理空间数据科学的开源跨平台库,重点是用python编写的地理空间矢量数据。它支持空间分析高级应用程序的开发。在安装过程遇到不少坑,现在记录下来。我使用的是python3.7的在conda虚拟环境下。直接通过pip 或者conda install 后运行时不行的,因为pysal有许多依赖包要安装。最重要的就是这个geopandas包,Geopandas包介绍看这里。这个Geopands包又依赖于:gdal、Shapely、Fiona、pyproj这四个包,因此在安装geopand

2022-03-31 13:01:55 5177 1

转载 Python空间分析| 01 利用Python计算全局莫兰指数(Global Moran‘s I)

全局空间自相关空间自相关(spatial autocorrelation)是指一些变量在同一个分布区内的观测数据之间潜在的相互依赖性。Tobler(1970)曾指出“地理学第一定律:任何东西与别的东西之间都是相关的,但近处的东西比远处的东西相关性更强”全局莫兰指数(Global Moran's I)是最常用的空间自相关指数,用来反映全局的空间相关性,其计算公式为:$$ I = \frac N W \frac {\sum_i \sum_j w_{ij} (x_i-\bar x) (x_j-\bar

2022-03-29 15:48:12 3811

原创 聚类算法分类及如何选择某类方法

聚类算法分类:(1)划分聚类算法:也称为基于距离的聚类算法,此类算法中,簇的数量是随机选择的或最初给定的。属于这一类的算法有K-Meansl,PAM,CLARANSI等。K-means聚类算法的不足之处在于它要多次扫描数据库,此外,它只能找出球形的类,而不能发现任意形状的类。还有,初始质心K的选择对聚类结果有较大的影响,该算法对噪声很敏感。划分方法具有线性复杂度,聚类的效率高的优点。然而,由于它要求输入数字k确定结果簇的个数,并且不适合于发现非凸面形状的簇,或者大小差别很大的簇,所以这些启发式聚

2022-03-22 10:39:16 7715

转载 Python机器学习:Grid SearchCV(网格搜索)

Python机器学习笔记:Grid SearchCV(网格搜索) - 战争热诚 - 博客园https://www.cnblogs.com/wj-1314/p/10422159.html 在机器学习模型中,需要人工选择的参数称为超参数。比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定。超参数选择不恰当,就会出现欠拟合或者过拟合的问题。而在选择超参数的时候,有两个途径,一个是凭经验微调,另一个就是选择不同大小的参数,带入模型中,挑选表现最好

2022-03-11 09:30:07 58850

原创 Matplotlib绘制散点数据等高线,以空间核密度分布为例

Matplotlib:散点数据等高线,以空间核密度分布为例

2022-02-23 20:28:07 4248

转载 核密度聚类(二)核密度估计、自适应核密度的数学原理

1 分布密度函数 给定一个样本集,怎么得到该样本集的分布密度函数,解决这一问题有两个方法:1.1 参数估计方法简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型;1.2 非参数估计和参数估计不同,非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法得出更好的模型。核密度估计就是非参数估计中的一种,由Rosenbla...

2022-02-22 16:50:58 5657 1

转载 核密度聚类(一)核函数、核密度估计、核密度聚类

核密度聚类当问题需要自动地确定聚类数目时,传统的KMeans等聚类方法不在适用。因此,使用“核概率密度估计”的思路自行设计了两种聚类方法。本文收录:核是什么 核密度估计 基于核密度估计的两种聚类方法 代码实现核函数有一些数据,想“看看”它长什么样,基于高中的知识,我们一般会画频率分布直方图(Histogram)。但基于大学的知识,此时也可以用核密度估计,因为之前的知识水平让我们默认为频率等于概率,但实际情况不一定如此。这里的“核”是一个函数,用来提供权重。例如高斯函数 (Gaus

2022-02-22 16:33:37 8945

翻译 Python 制作统计图形的库seaborn

Seaborn 是一个用 Python 制作统计图形的库。它建立在matplotlib之上,并与pandas数据结构紧密集成。与matplotlib的区别Seaborn 可帮助您探索和理解您的数据。它的绘图功能对包含整个数据集的数据框和数组进行操作,并在内部执行必要的语义映射和统计聚合以生成信息图。其面向数据集的声明式 API 让您可以专注于绘图的不同元素的含义,而不是关注如何绘制它们的细节。与直接使用 matplotlib 不同,不需要根据颜色值或标记代码指定绘图元素的属性。在幕后,se

2022-02-21 14:57:21 369

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除