计算同一列中两点之间的时间差ArcGIS

问题描述

我正在尝试使用 VBScript 或 Python 计算 ArcGIS 中两点之间的时间差。我有一个超过 1 万个点的数据集。每个都有坐标、日期和时间。我想创建一个新字段并计算以秒为单位的时间差。

数据如下:

FID 形状 N E 日期时间

0 点 4768252.94469 4768252.94469 2021/05/06 12:12:05

1 点 4768245.79949 4768245.79949 2021/05/06 12:12:11

2 点 4768241.44071 4768241.44071 2021/05/06 12:12:15

3 点 4768237.3568 4768237.3568 2021/05/06 12:12:18

因此,显示数据的结果将是“6,4,3,...”。我非常感谢您的帮助,因为我尝试了很多事情,但都没有成功。

解决方法

这是使用 Python 的 Pandas 模块执行此操作的一种方法。

你可以这样做:

# import module Pandas 
import pandas as pd

# Data as a python Dictionary. Can be imported as CSV too.
data = {
    'N' : ['4768252.94469','4768245.79949','4768241.44071','4768237.3568'],'E' : ['4768252.94469','Time': ['12:12:05','12:12:11','12:12:15','12:12:18']
}
# Creating a Pandas Dataframe object 
df = pd.DataFrame(data)
# If you want to import the data from CSV use df = pd.read_csv('csvname.csv')
# Converting Time column to datetime object
df['Time'] = pd.to_datetime(df['Time'])
# print the differences
print(df["Time"].diff())

输出:

1   0 days 00:00:06
2   0 days 00:00:04
3   0 days 00:00:03