【问题标题】:Calculate Time difference between two points in the same column (ArcGIS)计算同一列中两点之间的时间差(ArcGIS)
【发布时间】:2021-09-17 18:47:14
【问题描述】:

我正在尝试使用 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 time arcgis difference


    【解决方案1】:

    这是使用 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', '4768245.79949', '4768241.44071', '4768237.3568'],
        '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
    

    【讨论】:

    • 非常感谢您的回答。我是编程的初学者,所以如果你能解释一下,我将不胜感激。
    • 嘿,我用更多细节和 cmets 编辑了答案。由于您正在处理表格数据,我建议您使用 Python 的 Pandas 模块,特别是如果您有 10000 行。
    • 是的,现在更清楚了,我会试试这个。非常感谢
    • 嘿,如果解决方案对您有用,请考虑接受答案!干杯!
    猜你喜欢
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    相关资源
    最近更新 更多