问题标签 [topography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
23645 浏览

python - 在 Python 中创建 xyz 高度数据的曲面图

我正在尝试在 python 中创建一座山的表面图,其中我有一些 xyz 数据。最终结果应该是这样。该文件的格式如下:

等等。第一列代表x坐标,中间一列代表坐标yz海拔高度属于xy坐标。

我使用读取数据pandas,然后将列转换为单独的x, y, z NumPy1D 数组。到目前为止,我设法创建了一个简单的 3D 散点图,其中for循环遍历每个 1D 数组的每个索引,但这需要很长时间并且看起来效率很低。

我尝试使用scipy.interpolate.griddataand plt.plot_surface,但是对于z数据,我总是得到数据应该在 2D 数组中的错误,但我无法弄清楚它为什么或如何应该是 2D 数据。我假设鉴于我有 xyz 数据,应该有一种方法可以简单地从它创建一个表面。有简单的方法吗?

0 投票
2 回答
968 浏览

apache-flink - Apache Flink KeyedStream 后窗口操作员行为澄清

我要求澄清 Apache Flink (1.6.0) 在通过窗口发送事件并且应用了某些运算符(例如 reduce() 或 process())之后如何处理来自 KeyedStreams 的事件。

假设一个单节点集群,在一个键控窗口流上的操作符被执行之后,剩下的一个数据流正好是 1 个数据流还是正好k个数据流(其中k是键的唯一值的数量)?

为了澄清起见,考虑需要从某个源读取事件,按某个k键,将键控事件发送到某个窗口流中,减少,然后做几乎其他任何事情。下面的两个图表中的哪一个将实际构建?

图A

图 B

编辑 (2018-09-22)

根据大卫的回答,我认为我误解了 KeyedStreams 与窗口或其他流结合的确切工作方式。不知何故,我的印象是 KeyedStream 通过在幕后创建多个流来对传入流进行分区,而不是使用相同的流按某个值将对象组合在一起。

我认为 Flink 正在做相当于:

我现在看到 Flink 实际上在做相当于:

0 投票
1 回答
2735 浏览

python - 使用 Python 查找 2D 峰值突出

我发现这个 scipy 函数scipy.signal.peak_prominences可以在一维序列中找到指定局部最大值的地形突出

但我的应用程序需要在二维数组中定位重要的峰。我知道一些峰值查找方法,例如进行最大过滤,scipy 和 skimage 都有它们的实现。skimage 还h_maxima()允许过滤具有最小相对高度的局部峰。但是这些只给出了山峰的坐标,而不是它们的突出度。

那么如何计算二维数组上的峰值突出?任何帮助,将不胜感激。

0 投票
0 回答
42 浏览

python - 根据坐标改变坐标图(引力透镜)

我正在尝试计算称为引力透镜的光学现象。简而言之,当一个巨大的物体(或具有巨大质量的物体)位于我作为观察者和一颗恒星或某种光源之间时。因为它的质量很大,所以光线会弯曲,对我们来说,它显然来自另一个位置,而不是它的真实位置。有一种特殊情况(更简单),我们假设质量是球形的,所以从我们的角度来看,它在 2D 平面(或照片)中是圆形的。

我对代码的想法是根据我的光源照亮它的位置来改变二维平面的坐标。换句话说,如果我有一个球形光源,如果它离我的大质量物体很远,它会成像没有变化,但如果它接近球形质量,它就会改变(事实上,如果它正好在我的大质量物体后面)观察者会看到所谓的爱因斯坦环)。

为了计算,我首先编写了这个函数的映射。我取 的近似值a = x + sin(t)/exp(x) , b = y + cos(t)/exp(y)。因此,当源光远离质量时,指数将近似为零,如果它刚好在质量后面,则源光坐标将为 (0,0),因此图像将返回 (sin(t),cos (t)) 我期望得到的爱因斯坦圈。

我以这种方式编码,首先我定义我的近似值:

然后我尝试绘制它以查看坐标图如何变化:

我得到了这个情节。

形象的

请注意,它看起来是这样的,因为我选择的间隔取 x 和 y 坐标的值。如果我发生在 x={-1,0,1} 和 y={-1,0,1} 的“前沿”情况下,它将显示空间是如何变形的(或者我猜这就是我看到)。

然后我有几个问题。一个简单的问题,但我没有找到一个简单的答案,如果我可以操纵这种转换(用鼠标旋转以感知变形,x 或 y 如何变化的控制器)。还有两个棘手的问题:我可以绘制计数线以查看在 x 的每个级别中我的地图的地形究竟是如何变化的(假设我让 y 保持不变),以及另一个问题:如果这是我的“新”方式关于地图的作用,我可以使用这个新的坐标图作为工具,如果投影任何图像,它将在这个“新”地图的功能中失真。类似于相机如何使用鱼眼镜头效果的东西。

0 投票
0 回答
50 浏览

c# - 基础脑电图

我正在尝试开发一个可以根据用户输入绘制此图片的程序。 https://www.researchgate.net/post/How_to_plot_topographical_map_of_scalp_from_EEG_data

我正在尝试使用 Visual Studio 2017 中的 c# 来编写这个程序。

我在网上搜索过,但它只显示产品而不是编码。

我意识到 Matlab、Ilnumberics、VTK 可以做到这一点。

Ilnumberics 和 VTK 的问题是,我需要安装它们只是为了它们的一点功能。我不认为这是一个好的解决方案。

想问一下,有没有什么建议给我。

谢谢你。

0 投票
1 回答
219 浏览

python - 二维图像的地形高度预测

我想用相应的像素高度地形信息训练二维图像。我有一堆从地形中拍摄的二维图像,其中每个像素的高度也是已知的。有什么方法可以使用深度学习来训练具有高度像素信息的图像?

我已经尝试从图像和像素高度中推断出一些特征,并通过回归方法(例如 SVM)将它们关联起来,但是对于预测新的图像像素高度特征,我还没有得到令人满意的结果。

0 投票
1 回答
1341 浏览

mask - 如何使用 CDO 在 NetCDF 文件上应用海面罩

假设我制作了一个netCDF文件,其中有很多零。我想对数据应用一个海面掩码,这样只有海中的区域被真正掩蔽,而陆地上的数据被保留。

我拥有的数据在陆地上有很多零(这是正确的),但在海里也有很多零(这是不正确的)。

我本可以使用cdo setmissval,nan input.nc output.nc,但这也会将土地上的价值更改为NaN.

有人对此有任何(好的)解决方案吗?

0 投票
1 回答
4304 浏览

python - 如何修复“没有足够的值来解包(预期 2,得到 1)”?

我的编程背景为零。我正在尝试为我的班级编写一些代码,但它给了我一个错误“没有足够的值来解包(预期 2,得到 1)”。我的代码可能有什么问题?

错误消息的第一部分说:

然后,最后,

Stackoverflow 不允许我发布整个错误消息。希望看到我帖子的人都明白我的意思。

0 投票
0 回答
196 浏览

python - Python:曲面图未正确表示数据集

我目前正在尝试根据我拍摄的一些地形测量数据创建一个 3D 曲面图。数据由基于 UTM 的 GPS 位置组成。然后我创建了一个网格,使用最近邻法进行插值,并使用 plotly 绘制了曲面。我的主要问题来自于我的表面图非常尖锐,而仅原始点的散点图看起来更像我想要的。作为参考,这是海滩上 4 个沙丘的地形数据。

我想我已经将问题缩小到插值方法,但我只是不知道如何解决它,以便图形更加平滑。

提前感谢您的任何意见/建议。

散点图

曲面图

曲面图上的散点图。在这里,您可以看到较高的点不会创建良好的表面可视化。

0 投票
1 回答
77 浏览

python - 考虑到附近的山脉(使用 Python),如何计算给定日期和位置的日照时数?

我的目标是在假设晴朗的天空下,使用 Python 计算给定一天太阳照在给定位置的小时数。问题源于寻找房地产。我想知道我在一些房产上实际能晒到多少阳光,这样我就不必依赖房地产销售人员的陈述,而可以仅仅根据地址来判断一个房产。我正在搜索附近有几座山脉的区域,这应该在计算中加以考虑。我想使用的方法如下:

  1. 对于一整年(1.1.2020 至 31.12.2020),使用给定的时间分辨率(例如分钟),计算定义位置的太阳高度角和方位角。
  2. 查找从该位置看到的附近障碍物的角高度,产生方位角和高度角的值对。这可以是树木、建筑物或已经提到的山脉。让我们假设树木和建筑物可以忽略不计,主要是山脉带走了太阳。
  3. 对于每一天,在给定的分辨率下,在太阳的方位角位置检查太阳的高度角是否高于障碍物的高度角。对于一年中的每一天,我可以知道在什么时候可以看到太阳。

步骤 1 和 3 很简单。对于第 1 步,我可以使用例如 Python 模块 pysolar。步骤 2 更复杂。如果我站在一个延伸到地平线很远的完全平坦的平面上,那么所有方位角的障碍物高度都将为 0。如果附近有山,我需要知道山的形状,从位置上看。不幸的是,我什至不知道从哪里开始解决第 2 步,也不知道如何命名这个问题,即我不知道如何在谷歌上搜索解决方案。在最好的情况下,会有一个 Python 模块为我进行计算,例如通过连接到基于 OpenStreetMap 或其他服务的地形数据。如果这样的模块不存在,我将不得不手动编程访问地形数据,然后进行某种类型的网格搜索 - 将景观划分为精细网格(可能是球坐标),计算从位置看到的网格点的高度和方位角(正在考虑中地球曲率和该位置的仰角)并找到给定方位角的最大值。有没有更简单的方法来做到这一点?是否有执行此操作的 Python 模块?