- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个类似的问题here
这个问题与 tiff 数据类似,我想找到一种更通用的方法来处理它。
例如:
http://i4.tietuku.com/060fe38e9ccf6daf.png
this is an example picturefor random distributed data cluster into grid network http://i4.tietuku.com/a4c1355413f8cdbc.png
* the red point: original data
* the blue dot: grid network represent the 2-d array * the green circle: find the nearest blue dot for each red point and sum them.
* In this question, the difference is that the original data is 2-d numpy array too.
与我的另一个问题类似here我将 2-d 散点聚类到最近的网格点。我感谢@HYRY 支持的答案,它大大改进了我的代码。
在该题中,我使用了KD-tree算法来寻找每个原始点数据的最近网络节点。结果显示在这里:
http://i4.tietuku.com/1a420c48ed7bcb1c.png
我认为必须有一些更简单的方法来 reshape 结构化二维 numpy 数组而不是随机二维散点。
感谢@Praveen 的回答。
我有另一种使用 scipy interpolate 2d 函数的方法。
这是我的代码:
xi = np.linspace(x_map1,x_map2,pop.shape[1])
yi = np.linspace(y_map1,y_map2,pop.shape[0])
hfunc = interpolate.interp2d(xi,yi,pop)
x_grid = np.linspace(x_map1,x_map2,new_shape_x)
y_grid = np.linspace(y_map1,y_map2,new_shape_y)
new_pop = np.zeros(new_shape_x * new_shape_y)
t = 0
for i in range(0,new_shape_y,1):
for j in range(0,new_shape_y,1):
new_pop[t] = hfunc(x_grid[j],y_grid[i])
t+=1
new_pop = new_pop.reshape(new_shape_y,new_shape_x)
plt.pcolormesh(new_pop)
结果如下:
http://i4.tietuku.com/b020db6dc2d75d70.png
是否有一些有用的函数可以让我按位置(x,y)从原始数组数据集中采样一些数据?
最佳答案
如果我对您的理解是正确的,您有一个非常精细的人口密度 map ,您正试图通过聚合每个 5x5 像素区域内的人口密度来使其变得粗糙。是吗?
因此,当您说要将 1km x 1km 变成 5km x 5km 时,您的意思是每个像素当前代表 1km x 1km 区域内的人口,而您想让它代表人口在 5 公里 x 5 公里的区域内。
如果是这样,请不要使用聚类和 KD 树!这将是一种非常低效的方法来做一些简单得多的事情。
This可能是你想要的。解释一下:
# Suppose the 2D array is pop_density
coarseness = 5
temp = pop_density.reshape((pop_density.shape[0] // coarseness, coarseness,
pop_density.shape[1] // coarseness, coarseness))
coarse_pop_density = np.sum(temp, axis=(1,3))
如另一个答案所述,这仅在 pop_density
的形状是 coarseness
的精确倍数时才有效。我相信您就是这种情况,因为您说您有一张 200x150 的图像,您正试图将其粗糙化 5 倍。
# Suppose the size of pop_density was 198x147 instead of 200x150.
# Start by finding the next highest multiple of 5x5
shape = np.array(pop_density.shape, dtype=float)
new_shape = coarseness * np.ceil(shape / coarseness).astype(int)
# new_shape is now (200, 150)
# Create the zero-padded array and assign it with the old density
zp_pop_density = np.zeros(new_shape)
zp_pop_density[:shape[0], :shape[1]] = pop_density
# Now use the same method as before
temp = zp_pop_density.reshape((new_shape[0] // coarseness, coarseness,
new_shape[1] // coarseness, coarseness))
coarse_pop_density = np.sum(temp, axis=(1,3))
关于python - 如何粗化二维数组数据分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689519/
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!