1. 程式人生 > >將地震空間資料轉變為專題地圖

將地震空間資料轉變為專題地圖

本文歡迎友情轉載,但請註明作者及原文連結,嚴禁用於商業目的

通過《解析USGS網站頁面中的地震空間資料》介紹的方法,地震空間資料已經獲取並且分級顯示在地圖上了,能夠直觀的瞭解到美國加州地震分佈和地震大小,接下來需要運用數學方法對這些資料進行進一步的分析和處理,使之成為更加專業的地理專題圖。
    首先對地震空間資訊進行熱點分析(Hotspots)。地圖上分佈的地震源,有的地震源震級很高,但相鄰區域的地震非常微弱,影響很小,有的地震源震級較高,並且相鄰區域的地震同樣強烈,影響較大。使用之前分級渲染的符號顯示所有地震資訊,並不能明顯的反映出這樣的規律,相對而言,後者更需要管理者予以重點關注,因為這些區域時常發生地震,並且震級較大,造成危害更為嚴重。熱點分析需要進行一定數學計算,基本公式如下:



    藉助昨天解決問題的方法,使用ArcMap平臺上已經提供的熱點分析工具,在ArcMap整合的Python環境中,用指令碼直接呼叫相應介面,實現動態分析出圖。

arcpy.HotSpots_stats("quakes""Magnitude""HSA110KMagnitude""Fixed Distance Band""Euclidean Distance""None""110000")

 
    quakes.shp 是已經之前已經生成好的地震資料圖層,Magnitude是之前python指令碼中新增的震級欄位,HSA110KMagnitude是輸出的結果要素類,後面是參與計算的引數設定。HSA110KMagnitude屬性欄位中包含GiZScore欄位,數值越大,表示該點所在的周邊區域地震震級約大,可以對該值進行進一步的Z值渲染,以便得到更加明顯的效果。

arcpy.ZRenderer_stats("HSA110KMagnitude""GiZScore""ZRenderer.lyr")     結果將使用冷暖色調來顯示所有熱點的大小分佈,注意,這裡的點渲染符號和quakes.shp的點符號意義完全不一樣了。ArcGIS空間分析和三維分析一直是最受關注的GIS分析技術,接下來咱們也用Python來進一步處理,以空間插值分析為例,既然有了GiZcore欄位,一切都非常容易了。 arcpy.env.extent ="California"
arcpy.Idw_3d(
"ZRenderer.lyr""GiZScore""cntidw
"30002"FIXED 750000")
extract 
= arcpy.sa.ExtractByMask("cntidw""California.shp")

    ZRenderer.lyr是輸入,GizScore是用於插值的欄位,cntidw是輸出,後面是插值的引數設定,並且輸出的結果以California地區為邊界進行裁剪,這樣就完成了整個計算。
    通過上面三種不同的空間分析,可以看出Python環境的整合能夠非常方便的在GIS平臺下進行各種空間資料處理和空間分析計算,效果更為明顯,操作更為靈活,在此基礎上,通過加入圖名,圖例,比例尺,指北針等資訊就可以輸出為不同型別的專題地圖。所有操作在ArcMap 9.4 beta1中完成,9.3也可以執行python指令碼,但需要在外部的python開發環境中執行計算後,將生成的結果手工新增到桌面平臺或應用之中。