簡體   English   中英

在目錄中搜索shapefile

[英]searching for shapefile within a directory

我有一個文件目錄,其中包含按年份和月份列出的激增數據以及它們所影響的管理單位(例如1977年7月的激增及其所影響的公社列表)。 我也有按月和年的降水數據目錄。 我需要執行一個名為Near的GIS操作,然后以表格形式結合降水數據和潮汐數據,以使潮汐月/年與降水月/年相匹配。

通常,我要描述的過程的偽代碼如下:for(從1977年到2006年的浪涌){if(surge == 1977年7月){從在找到的文件上運行Near的目錄中查找降水1977年7月通過NearFID進行1977年7月和1977年7月的激增的表格連接}}

如何在python中執行此過程以及如何在目錄中搜索必要的文件?

提供所提供的信息,我們需要做一些假設:

  1. 所有precip shapefile都位於一個目錄中。
  2. precip文件的文件名中包含一些隨機元素,因此有必要通過名稱直接搜索圖形文件的內部。
  3. Precip文件的文件名可識別月份和年份。

基於這些假設,我們可以使用Python的glob模塊查找特定月份和年份的形狀文件。

目錄(/ path / to / surge /)中的給定浪涌文件:

surge_july_2000.shp, surge_august_2000.shp,etc.

和目錄(/ path / to / precip)中的precip文件:

precip_random123_july_2000.shp, precip_random8482_august_2000.shp, etc

我們可以將您的偽代碼修改為如下所示:

import glob
for curSurge in glob.glob("/path/to/surges/*.shp"):
    blah, month, year = curSurge.split('.')[0].split('_')
    matches = glob.glob('/path/to/precip/*_%s_%s.shp'%(month, year))
    if len(matches) != 1:
        raise Exception, "Oh No!, We found %d matches instead of 1!"%(len(matches))
    run_near_and_make_tabular_join(curSurge, matches[0])

圍繞假設#3很難工作,但其他假設卻微不足道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM