小编Noi*_*eet的帖子

使用Python在Matplotlib底图中将自然地球形状绘制为多边形

我接近得到我想要的地图.Matplotlib的底图是伟大的,但海岸线太粗,当我放大.我可以读自然地球形状文件,并绘制出来,这是好多了...但是当我尝试和填充的多边形,我认为这是治疗所有的点属于单个多边形.如何迭代多边形并正确显示地图?

提前致谢!

这是代码:

import numpy as np
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
%matplotlib inline

landColor, coastColor, oceanColor, popColor, countyColor = '#eedd99','#93ccfa','#93ccfa','#ffee99','#aa9955'

fig = plt.figure()
ax = fig.add_subplot(111)
s = 1900000
m = Basemap(projection='ortho',lon_0=-86.5,lat_0=30.3,resolution='l',llcrnrx=-s,llcrnry=-s,urcrnrx=s,urcrnry=s)
m.drawmapboundary(fill_color=oceanColor) # fill in the ocean

# generic function for reading polygons from file and plotting them on the map. This works with Natural Earth shapes.
def drawShapesFromFile(filename,facecolor,edgecolor,m):
    m.readshapefile(filename, 'temp', drawbounds = False)
    patches = [] …
Run Code Online (Sandbox Code Playgroud)

python matplotlib matplotlib-basemap

7
推荐指数
1
解决办法
888
查看次数

在python中递归搜索文件的最快方法是什么?

我需要通过递归搜索生成包含特定字符串的路径的文件列表.我这样做当前是这样的:

for i in iglob(starting_directory+'/**/*', recursive=True):
    if filemask in i.split('\\')[-1]: # ignore directories that contain the filemask
        filelist.append(i) 
Run Code Online (Sandbox Code Playgroud)

这样可行,但是当抓取一个大型目录树时,它的速度非常慢(约10分钟).我们在Windows上,因此不能选择对unix find命令进行外部调用.我的理解是glob比os.walk更快.

有更快的方法吗?

python search glob

6
推荐指数
1
解决办法
4561
查看次数

最近的交点指向python中的许多行

我需要一个很好的算法来计算最接近 python 中的线集合的点,最好是使用最小二乘法。我在一个不起作用的python实现上发现了这篇文章:

在Python中使用最小二乘法查找多条线的中心

我在 Matlab 中找到了这个似乎每个人都喜欢的资源……但我不确定如何将其转换为 python:

https://www.mathworks.com/matlabcentral/fileexchange/37192-intersection-point-of-lines-in-3d-space

我发现很难相信有人还没有这样做过……这肯定是 numpy 或标准包的一部分,对吧?我可能只是没有在寻找正确的术语 - 但我还没有找到它。我可以用每个点或一个点和一个方向来定义线。任何帮助将不胜感激!

这是我正在使用的一组示例点:

第一组线的初始 XYZ 点

array([[-7.07107037,  7.07106748,  1. ],
       [-7.34818339,  6.78264559,  1. ],
       [-7.61352972,  6.48335745,  1. ],
       [-7.8667115 ,  6.17372055,  1. ],
       [-8.1072994 ,  5.85420065,  1. ]])
Run Code Online (Sandbox Code Playgroud)

属于第一组线的角度

[-44.504854, -42.029223, -41.278573, -37.145774, -34.097022]
Run Code Online (Sandbox Code Playgroud)

第二组线的初始 XYZ 点

array([[ 0., -20. ,  1. ],
       [ 7.99789129e-01, -19.9839984,  1. ],
       [ 1.59830153e+00, -19.9360366,  1. ],
       [ 2.39423914e+00, -19.8561769,  1. ],
       [ 3.18637019e+00, -19.7445510,  1. ]])
Run Code Online (Sandbox Code Playgroud)

属于第二组线的角度

[89.13244, 92.39087, 94.86425, 98.91849, …
Run Code Online (Sandbox Code Playgroud)

python numpy

6
推荐指数
2
解决办法
3485
查看次数

Cesium CZML:使用lat long alt

我想这对任何真正熟悉Cesium的CZML文件的人来说都是一个简单的问题.我只是尝试使用Cesium显示一系列lat/long/alt点作为飞行路径.有人能告诉我"位置"标签应该是什么样子吗?

除非我在错误的地方寻找,否则我没有看到很多CZML的例子.所以很难知道可以使用哪些标签以及如何使用它们(如果你弄错了,Java控制台就不会显示错误).

在Cesium网站上的Sandcastle CZML示例中,相关部分如下所示:

"position" : {
            "interpolationAlgorithm" : "LAGRANGE",
            "interpolationDegree" : 1,
            "epoch" : "2012-08-04T16:00:00Z",
            // Trimmed to just 2 points
            "cartesian" : [0.0, -2379754.6637012, -4665332.88013588, 3628133.68924173,
                           3894.996219574019, -2291336.52323822, -4682359.21232197, 3662718.52171165]
        }
Run Code Online (Sandbox Code Playgroud)

如果是两点,为什么有8个值?如果是ECEF坐标,我预计每点只有三个......

例如,当我尝试这个时,我在控制台中收到了一条"未被捕获的错误"消息...这不是很有用:

"cartographic" : [-1.472853549, 0.589580778, 1000,
                  -1.472962668, 0.589739552, 1000 ]
Run Code Online (Sandbox Code Playgroud)

根据文档,制图采用(长,纬,高)长,纬度为弧度,高度为米.

cesium czml

5
推荐指数
1
解决办法
2170
查看次数

在Python中,Matplotlib的Contour函数可以返回特定轮廓线的点吗?

我必须使用轮廓图来生成一组不方便定义的双曲函数的图。这项工作有效,并且绘制了其中的一系列噪声,并添加了一些噪声(对于熟悉此类事情的人来说,这是无源RF地理位置TDOA问题)。

由于我的python程序知道目标的(x,y),因此我想对围绕该点绘制的所有不同双曲线进行采样,并生成一个误差椭圆。如果我可以得到Matplotlib轮廓函数以返回绘制时每条轮廓线的点,那么我可以处理其余的计算。所以...

Matplotlib轮廓函数能否返回特定轮廓线的所有(x,y)值,例如f(x,y)= 0?

python matplotlib contour

5
推荐指数
1
解决办法
1662
查看次数

Python 的 PyQtGraph:是否可以有梯度填充图?

是否可以使用 PyQtGraph 生成看起来像这样的图?我知道如何创建填充图,但我找不到任何将渐变应用于填充区域的示例。

梯度填充图示例

python pyqtgraph

1
推荐指数
1
解决办法
1539
查看次数