我有一个大的x和y坐标列表,存储在一个numpy
数组中.
Coordinates = [[ 60037633 289492298]
[ 60782468 289401668]
[ 60057234 289419794]]
...
...
Run Code Online (Sandbox Code Playgroud)
我想要的是找到特定距离内的所有最近邻居(比如3米)并存储结果,以便我以后可以对结果进行进一步的分析.
对于大多数包裹,我发现有必要确定应该找到多少个NN,但我只想在设定的距离内完成所有NN.
我怎样才能实现这样的目标?什么是实现大型数据集(百万点)的最快和最好的方法?
我想使用GPSbabel将.gpx
一个文件夹中的所有单个文件合并为一个文件,例如merge.gpx
,我如何归档这样的文件?
我知道如何手动执行此操作:
gpsbabel -i gpx -f "folder/of/file/1.gpx" -f "folder/of/file/2.gpx" -f "folder/of/file/3.gpx" -o gpx -F "folder/of/file/merge.gpx"
Run Code Online (Sandbox Code Playgroud)
但是,由于一个文件夹中最多包含20个此类文件,我想使用批处理(.bat)文件自动执行此操作吗?我几乎是批处理文件的新手,找不到任何有关如何存档的信息。
如果我有以下变量:
numbers<-c(1,2,3,-5,4,5,6,-5,1,2,1,1,1,1,7,1,1,1,8,1,1,1,1,1,1,1,1,1,1,9,10,11,12,13,14,15,1,1,1,5
,5,5,5,5,5,5,5,5,5,5,5,5,5,5,78,78,78,78,78,78,78,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,-5,0,0,0,0,0,-5,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,-5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,0,0)
Run Code Online (Sandbox Code Playgroud)
我首先要找到所有-5值:
index<-which(numbers == -5)
[1] 4 8 95 101 135 150 151
value<-numbers[which(numbers == -5)]
[1] -5 -5 -5 -5 -5 -5 -5
Run Code Online (Sandbox Code Playgroud)
我现在要做的是检查发生-5的位置之前和之后的5个值,看看是否所有值都等于0,如果是这样,那么保持它的起始索引()如果不从以下位置删除它:index
index
因此,在以下情况下,期望的结果将是:
r
95 101 135
Run Code Online (Sandbox Code Playgroud)
好吧,我设法用两个独立的for循环解决问题,一个if条件和一个临时列表2(一个元素保存索引号一个值)和一个变量用于存储结果.
但是我确定有更好/更短/更快的结果吗?任何建议?在最好的情况下,如果可能的话,我更喜欢基础R答案.