地圖之美(地圖製圖)

開篇

地圖學是研究地圖的理論、編制技術與應用方法的科學。 現階段對地圖學的定義是:研究地理信息的表達、處理和傳輸的理論和方法,以地理信息可視化爲核心,探討地圖的製作技術和使用方法的學科。

從地圖本身概念出發,地圖是將客體(一般指地球)上的地理信息,通過科學的概括,運用符號系統表示在一定載體上的圖形,以傳遞它在時間與空間上的分佈規律和發展變化。因此,從功能和本質上來講,地圖是科學性的,它是描述地理信息在空間上的分佈;從表現形式上來講,地圖是富有藝術性的,它由抽象化的符號系統構成。製作地圖好比創作一幅自然人文的繪畫,將地球上某個區域某個時期自然、人文的剪影精緻地描摹下來。繪畫講究色調、顏色、紋理、筆觸、明暗和構圖的和諧統一,製作地圖同樣也適用。富有藝術氣息的地圖能夠激發人們的審美情感,在視覺上產生一種美的藝術共鳴。(下圖是使用數字高程模型製作的水墨畫)

 

地圖的歷史

地圖有將近4500年的歷史,那時人們開始用各種方式,對自身周圍的環境進行空間圖像的原始記述。地圖的製作材料有陶片、紙草,銅板、椰枝、石塊、獸皮等,現保存下來的最爲古老的地圖是公元前25~前23世紀巴比倫人繪製在陶片上的地圖。

  

《巴比倫世界地圖》,現存於大英博物館

公元前四世紀,阿里士多德證實地球是球形的,並提出了維度思想,發明經緯線網格刻畫地圖。公元前二世紀,天文學家克勞狄烏斯·托勒密依據地球的球形理論完成了一部著作,題爲《地理學指南》。《地理學指南》用希臘語寫在紙草捲上,分8個部分,歸納了1000多年以來希臘關於已知世界大小、形狀和範圍的思考,在西方影響達一千年之久。不過,《地理學指南》認爲地球居於中心,日、月、行星和恆星圍繞着它運行,該地心學說直到6世紀中哥白尼的日心說發表,才被推翻。

拜占庭《地理學指南》中的世界地圖,該地圖對地球的估算過低,誤導哥倫布確信他向西航行不遠就能到達亞洲,陰差陽錯,他航行到了美洲。

這副地圖的北方在地圖頂端,重要的地區有地名標註,並且是根據經緯網格繪製的。和柏拉圖這樣的希臘前輩一樣,托勒密認爲地球是圓的,並且利用這個網格來解決將球形的地球投影到平面上的難題。托勒密的著述在全面介紹地球和說明如何描述地球方面是空前絕後的,這些論述讓《地理學指南》成了現代製圖術的先驅。

公元三世紀,中國的裴秀編制了《禹貢地域圖》和《地形方丈圖》,提出了“製圖六體”,這是中國古代關於地圖編制原理的最精闢論述,形成東方獨特的地圖技術途徑,對中國古代地圖製圖學的發展產生了深遠的影響。

在這期間,阿拉伯處在東西方貿易交往的交通要道上,它把中國古代的發明輾轉傳人西亞和歐洲等地,也給中國帶來先進知識和宗教文化,在不同文明之問搭起了文化交流的橋樑,對世界文化的傳播與交流作出了重大貢獻。同樣東西方的地圖思想和技術也得到了交流與傳承。
1405~1433年中國航海家鄭和七下西洋,反映下當時西洋情況的《鄭和航海圖》是中國現存最詳盡的古代航海圖,也在世界上開創了使用航海圖的先河。此後,航海圖隨着葡萄牙、西班牙、荷蘭和英國等各國航海探險和海上霸權爭奪而迅速發展。

1569年,墨卡託設計了正軸等角圓柱投影,並第一次把東、西半球已知範圍展現在一幅地圖上。這種投影的地圖能爲航海者提供直線導航,作爲航海圖被普遍採用,被命名爲“墨卡託投影”。墨卡託的工作被譽爲16世紀歐洲地圖學的里程碑,他的地圖集開創了世界全圖的新投影,反映了當時歐洲地圖發展的特點。隨着航空和航天的需要,後續多種橫軸和斜軸的墨卡託投影相繼出現。

公元1600年以後,意大利傳教士利瑪竇在中國學者的支持和合作下,他利用西方和東方的世界地理知識彙編成《坤輿萬國全圖》。該圖標有當時新發現的大洋和大洲等區域概念,以及地中海、羅馬、古巴、加拿大等中譯名;同時把張衡渾天儀上使用的南極、北極、赤道等名詞應用於地圖。歐洲的地圖測繪技術,傳播到了中國後,清朝測繪了《皇輿全覽圖》和《大清一統輿圖》,這些奠定了中國近代地圖的科學基礎。19世紀中葉,中國採用梯形投影,繪製了當時較完善的亞洲地圖。

1909年,國際地理大會對地圖分幅、地形表示、城鎮分級、地名等作出了統一規定。後續又對分層設色、公制單位等標準作了修訂,並擬定了獨特的地圖投影和全球的統一分幅編號。這些措施對地圖的國際化和標準化產生了深遠影響,大部分國家也接受了地圖統一的國際分幅編號。地質圖、人口地圖、土地利用圖、森林圖的國際合作編制工作和分類,圖例系統標準化的研究,都取得很大的進展,地圖進入工業化大生產和社會商品化的階段。

溫克爾三重投影

1909年美國的萊特(W.Wright)第一次從飛機上對地面拍攝像片。1932年第一次運用航空攝影製圖,它使人類可以脫離地面利用高空平臺來測繪地圖,從根本上改變了近300年來形成的地形圖測繪生產過程。航空攝影幾乎完全取代了經典的平板測繪,廣泛應用於國家基本地形圖以及城市、農田水利、森林礦山的各種大比例尺地圖的測繪。

1960年,美國軍方研發出了第一個世界大地測量系統(WGS60),它是一個以質量爲中心的基準面(相對重力爲中心),對洲際彈道導彈的目標定位和偵察衛星的發展具有戰略意義。此前的大尺度座標系統都無法涵蓋全球範圍(比如NAD),這被很多人認爲是美國在冷戰期間最大的科學成就之一。拋開研發初期的軍事目的和政治目的來看,這一成就確實給地圖和GIS帶來重要的應用,現在遍地開花的LBS應用是基於WGS84座標系做的,它的前身就是WGS60,後來成爲了民用GPS的經典。

1972年,世界上第一顆地球資源勘測衛星發射成功,人類得以從外層空間來觀測整個地球。陸地衛星、氣象衛星和海洋衛星作爲新型的地圖信息源,具有快速、準同步和大面積覆蓋的顯著特點,可提供空前巨大的地圖信息,使地圖學呈現新的發展。

2000年,谷歌地球和谷歌地圖發佈,地圖第一次通過互聯網方式展示全世界的地圖,地圖的使用範圍已經超出了傳統的意義。在谷歌公司的眼裏,谷歌地球和谷歌地圖並不是傳統的地圖,而是搜索引擎,是各類信息的載體,是流量的入口。地圖不再是專業人員的專利,廣大市民也可以通過電子地圖改變消費和出行的方式。

地圖使世界各安其位。從早期的陶土地圖到現在的電子三維地圖,地圖越來越接近地物最真實的那一面。儘管在這漫長的探索過程中,地圖學家們在用他們奇大的腦洞努力填補那些地圖上空白的地方時,出現過許多失誤,不過這些失誤又隨着人類不斷地開拓和狩獵新的領地而不斷得到修正。自然界從未劃定任何區域,現在的地圖佈滿了大大小小的城市和居民點,帶有強烈政治意圖的疆界線表明了不同國家統治的地理版圖,而這些無心插柳柳成蔭的地圖疆域也最終會成爲歷史。

è¿éåå¾çæè¿°è¿éåå¾çæè¿°è¿éåå¾çæè¿°

 

聯合國logo

 

思維誤區

看慣了某類常識性的地圖,如世界地圖,也多少有人誤以爲世界是亞歐大陸板塊爲核心的,以至於我們忘記了世界的另一極:美洲大陸的存在,好像它總是偏居一隅的,儘管在長達幾千年的人類歷史進程中,記錄都是以亞歐大陸的文化爲底本,從投影的世界地圖上也較難想象歐洲與美洲是如何交流的(大西洋被切割了)。不容質疑的是,現代的世界卻是美洲的美國在主導潮流。

就像新聞報道中常常提及的中東、遠東地區,有多少人會知道那是以歐洲人的視野看待亞歐大陸阿拉伯、俄羅斯的最東部區域,我們也會習慣性地說上北下南,如果是一直以下面這種地圖方式表現,又會是如何。

 

尺度劃分了國家,也劃分了同質性和異質性的區域,尺度對空間的概括使得地球表面無限的多樣性變得井然有序,不同的地圖反映了我們觀察空間和解釋世界的方式,地圖複製了自然、人類、自然與人類相互作用中的快照(叫做snapshot或者landscape都行)。

非洲語言區

 

那些美麗又新穎的地圖

1、螢火蟲地圖

2、矢量方向圖

3、流量圖

4、熱度圖

5、立方圖

6、夜光圖

7、花瓣圖

 

美感地圖製作

製作美感的地圖,不僅需要有藝術細胞,還需要有耐心,當然,對於工具的掌握也是必不可少的。

8、DEM渲染圖

DEM渲染圖是利用數字高程模型(DEM)表達地形的一種常見地圖,綜合運用了光照、陰影、色彩分層、透明度等技術使得地圖看起來美觀、立體而富有層次感。

設置色帶

在拿到一個DEM柵格地圖後,就可以着手DEM渲染圖的製作了。點擊圖層下面的色帶,選擇一個適合的色帶對DEM進行調色。

當然在符號系統中也可以對DEM的數值進行分類,ArcGIS一般將分類值定爲5~32數值,你可以選擇不同的方法進行分類展示DEM數據。

增加陰影圖層

增加一個陰影圖層,使得DEM富有層次感,點擊“ArcToolbox”→“3D Analyst工具”→“柵格表面”→“山體陰影”,在彈出的“山體陰影”對話框內輸入加載的高程DEM,設置方位角、高度角和“z因子”(誇張因子),並將陰影圖放置於dem柵格數據上層。

圖層疊加

在生成的陰影圖層上點擊右鍵選擇屬性,在“顯示”選項卡上設置透明度(10%~50%),點擊“確定”後可以看到已經生成了一層比較真實的地形,DEM渲染圖製作完畢。

9、射線圖

製作一張放射圖,首先需要一個從起點到終點的數據,在這個例子裏,我們把北京和其他各國家的首都連接起來,通過結果可以看到帝都與各首都之間航線的軌跡和距離,這裏我們主要是利用ArcGIS的一個工具——XY to line。

數據準備

XY to line工具所需要的輸入是一個表格數據(.xls,.csv,.txt,.dbf均可以),必需的四個字段是每個點對的XY起止座標,如下圖所示,XCoor爲各首都的X座標,YCoord爲各首都的Y座標,BJX爲北京的X座標,BJY爲北京的Y座標,這裏採用的是WGS 1984的座標系統。

數據處理 

打開XY to line工具,設置如上圖,在Line Type中有四個選項,這裏我們選擇的是GEODISIC,ID字段設置爲大洲,目的是爲了保留該字段,以便將來按大洲進行符號化。

  GEODESIC:測地線,橢球體表面上兩點之間的最短連線

  GREAT_CIRCLE: 大圓航線,通過兩航路點間的大圓圈線(該兩航路點與地心在同一平面)

  RHUMB_LINE(loxodrome line): 等角航線:是地球表面上與經線相交成相同角度的曲線。在地球表面上除經線和緯線以外的等角航線,都是以極點爲漸近點的螺旋曲線,在航海圖(採用墨卡託投影)上又表現爲直線

  NORMAL_SECTION:法截弧,A點的法線與B點確定的法截面與橢球相交的弧線

偶爾換個視角也不錯,例如我們把Data Frame的座標系統換一換,再按大洲做個符號化:

10、浮雕圖

浮雕地圖與DEM渲染圖類似,都需要人爲製造陰影和光照效果,此類地圖對於大面積的圖塊效果較好,當然如果是建築物,只需要做一個陰影偏移就好。

加載原始矢量數據province

配置浮雕底面

內部緩衝區圖層生成:

在ArcToolbox中打開Buffer工具,輸入要素選擇province圖層,Distance設爲-4000(生成內部的緩衝區,需設置成負值),Side類型選擇FULL,Dissolve類型選擇ALL,生成內部緩衝圖層province_Buffer:

浮雕陰影生成:對生成的緩衝區使用Euclidean Distance工具,計算距離面邊界的距離,再用Extract by Mask 工具,用原來的面要素類裁剪距離柵格。單擊Environments,彈出Environment Settings窗口,單擊Processing Extent,在Extent下拉列表中選擇Same as layer province,設定數據處理的範圍與province相同,生成新的柵格圖層EucDist_prov4。

在ArcToolbox中打開Extract by Mask工具,輸入柵格選擇EucDist_prov4圖層,掩膜數據選擇province圖層,裁掉邊緣數據,生成新的柵格圖層Extract_EucD1。

在Arctoolbox中打開Hillshade工具,輸入數據選擇Extract_EucD1圖層,其他參數默認,生成新的柵格圖層HillSha_Extr1。

至此,浮雕的底面已經完成。

配置面狀符號

如果需要使圖面更加好看,可以在provence緩衝圖層上配置面狀符號。在內容列表中,右鍵單擊province_Buffer圖層,選擇Properties;打開圖層屬性窗口,切換到Symbology頁,選擇Feature->Single symbol,雙擊符號,彈出Symbol Selector窗口;單擊Edit Symbol,彈出Symbol Property Editor窗口,增加兩個符號圖層,頂層爲Marker Fill Symbol,在Marker Fill頁選擇十字符號,大小爲4,顏色爲黑色,在Fill Properties頁設置X、Y方向間隔爲6,底層爲Simple Fill Symbol,顏色爲深灰;

配置上層類別分類層次

在內容列表中,右鍵單擊province圖層,選擇Properties,在Symbology頁,選擇Categories->Unique values,字段選擇NAME,雙擊符號,設置符號樣式,在Display頁,設置圖層透明度爲30%,在內容列表中調整圖層順序,將province圖層移至最上方,其次是province_Buffer圖層,再次是HillSha_Extr1圖層,查看地圖符號化效果。

浮雕地圖生成完畢。

看完了以上三幅地圖的製作,或許會讓人感到既枯燥又乏味,這也只是看而已,在真實的操作過程中,需要不斷的嘗試,纔有可能獲得一張比較漂亮的地圖。

 

製圖的細節技巧

ArcGIS的製圖表達介紹

現在普遍使用計算機製圖,傳統意義上的計算機製圖方式使用數據+地圖文檔的模式,這種方式能夠保存數據和地圖的獨立性,任何的地圖渲染都不會影響數據本身。上述三幅圖的製作基本上也是使用這種方式,針對不同的數據類型配置不同的地圖符號,使得原本“醜陋”的數據變得美觀。但這種模式有普遍存在一些難以解決的問題,就是地圖的展示規則過於依賴數據,例如唯一值渲染需要有分類的字段,圖標渲染需要多個數值型字段等;符號規則相對簡單,一些特殊的符號形式很難通過標準的符號技術實現;對於具有非常嚴緊規範的地圖生成(如出版地圖)來說,表現能力還是不足夠。

其實,ArcGIS的製圖表達技術確實是一項很好的技術,在圖形的表達上有跟多的優勢,其表現能力可以更加接近現實世界,只不過長期以來少有人關注。

     左邊第一張圖是GIS數據,數據是點線面基礎圖形,原則上是不帶任何的符號和色彩的,爲了顯示數據,GIS軟件會默認給定數據一個符號。

      中間的圖是初步可以稱得上是地圖,因爲已經根據其數據的特性進行了符號配置,例如河流用藍色線符號表示,綠地用綠色面狀填充表示。

      右邊的那種圖就是用了製圖表達之後的地圖,從圖上可以看到河流已經應用了一些跟現實相似的規則,河流發源部分符號相對幼細,下游部分相對寬廣,線要素就用了一個逐漸變寬的面來表達。

      從這三張圖可以看到,數據、地圖、製圖表達的區別。製圖表達使用後,地圖的顯示更加接近現實規則。製圖表達技術通過一些列的規則來約束地圖的顯示,這些規則可以相互的疊加使用,從而實現不同的顯示效果。

上圖是行政區劃的面狀表達,傳統的方式是非常扁平的色彩渲染,用純色去顯示行政區面。利用製圖表達,可以實現類似coredraw的色彩漸變和發光效果,關鍵是我們使用的是GIS數據,而不是在一個製圖軟件中重新繪製這些圖形去實現。

 

    再來看這個建築面,在製圖表達中使用了簡單的規則,就可以使二維的建築面看起來具備簡單的立體效果。

 

上圖是一個運動場的效果,左邊是原始數據,右邊是經過製圖表達處理後的地圖,右圖更加接近現實效果。

製圖表達使得地圖就變得更加直觀, 能夠很好的解決以下的幾個大問題:

•製作更美觀的地圖

•滿足精確定義的製圖規範

•使用一套空間數據,生產多種製圖產品

•減少人工製圖編輯的工作量

•避免使用其他圖形編輯軟件來二次處理地圖產品

 只要確定了需要使用製圖表達,那接下來就可以根據製圖表達流程進行製作了。使用製圖表達之前,建議是先做一部分的標準符號渲染,然後再進行轉換,這樣纔可以減少相當一部分的工作量。下圖是其基本的操作流程

      最快捷的方式在圖層渲染做好後,轉換爲製圖表達,ArcGIS會默認分解原來的標準符號規則到製圖表達規則中,這樣可以減少一些規則的設置。在圖層的右鍵菜單,選擇【將符號系統轉換爲製圖表達】,然後在彈出框中輸入製圖表達的名稱,以及規則ID字段名、覆蓋字段名,點擊確定之後即可實現。如下圖

      RuleID字段和Override字段分別尤其特殊的作用。其中RuleID 字段是用作記錄某個要素所使用的製圖表達規則,Override字段則是個blob字段,用於存儲製圖表達規則特定於要素的覆蓋值,那就是說,如果沒有任何的規則適用,採用的是像手工編輯那樣的修改,這個字段記錄的就是這些沒依規則的修改值,可以誇張的說,這個字段記錄的就像CAD一樣的信息。如上一章節提到的運動場的效果,就是完全記錄在這一個字段中,ArcMap讀取這個字段的信息進行了重新繪製。

      製圖表達是將其規則和圖形繪製保存在數據當中,因此使用了製圖表達之後的featureclass就不需要使用mxd來表現了,在數據加載的時候可以選擇使用具體的某個製圖表達來顯示圖層。如果一個圖像像表達多種風格的話,可以再新多個製圖表達,不同的製圖表達是獨立開來的,會在新的RuleID和Override字段中記錄下來,就像下圖,多個製圖表達就是用多套RuleID和Override字段來區分。

可以看到下圖就是多個製圖表達記錄在數據當中,可以通過左側的製圖表達進行選擇進行切換不同的顯示方案。

      我們可以開看看一個簡單的例子,做一個行政區面發光的例子。按照之前所說的流程,線將數據加入到ArcMap中,做一個唯一值渲染將不同的行政區進行區分,並轉換爲製圖表達如下圖

轉換之後會默認增加一個圖層,圖層的名稱爲原來圖層名稱加上“_rep”,轉換後可以將原來的圖層刪除掉。

      在Rep圖層中雙擊或者右鍵到圖層屬性,可以看到轉換後ArcMap會將製圖系統轉換到製圖表達中去。每一個規則就是當時使用唯一值渲染的唯一值進行區分。這就是我們爲什麼要先進行簡單的符號渲染,然後才轉製圖表達的原因,確實省掉我們重新劃分製圖表達的工作。

      每一規則都可以在屬性值中查看出來,例如打開屬性表,可以看到RuleID字段,Override字段默認是不顯示的,可以在屬性表設置【打開所有字段】來看到它。RuleID顯示的名稱都是以劃分的規則名稱名來記錄(注意:這個名稱不是製圖表達規則,它是爲了顯示當前要素使用了哪一個規則集合而已,真正應用的規則不在屬性表中查看)

      製圖表達規則的查看和設置,必須在製圖表達的設置面板中進行設計。選中某一個規則名稱,然後點擊右上角的加號,彈出製圖表達的規則集合,如下圖所示

      在製圖表達中,沒有標準符號那麼嚴格規定,標準符號的使用都是嚴格的定義的,點要素只能用點符號渲染,線要素只能用線符號渲染。但製圖表達不一樣,它用的是規則,而不是符號,所以,面要素可以用面去顯示,也可以用點去顯示。每一個要素類型都可以自定義不同的符號,使用不同的規則進行組合。這對於初解除製圖表達的人可能非常困惑,但一旦一起來的話,就會發現這些規則組合起來幾乎解決了所有的符號渲染問題。

      下面我們其中一類面分類進行一個緩衝區的顯示,對面要去進行內收縮操作,這類似於使用buffer工具去處理數據一樣,但製圖表達中並不會產生新的數據。最終的結果就是導致了“江西省”在面填充部分對往邊界內收縮了5pt(注意:製圖表達設置的單位爲pt,因此,在使用全必須先確定出圖的比例尺,然後固定下來,各種設置值都要最終換算爲pt單位)

      其餘的幾個省份,我們也可以逐個設置銅同樣的規則,這樣線做成一個緩存面的效果。接下來可以設置不同的面效果,例如做發光效果其實就是一個色彩漸變的效果,可以在右上角的小箭頭符號點擊,選擇【漸變】

     漸變效果需要設置一些參數,如初始的顏色和變化的顏色,將顏色1設置爲主要顯示的顏色,顏色2爲過度顏色,爲了帶到發光的效果,一般使用白色,這樣的過度會相當不錯。

每一個類型都設置對應的漸變參數,最後效果可以看看

      中間的這些空隙是專門留出來的,其作用是要做一個比較合理的陰影,讓這些發光的面看起來更有立體感(這是製圖人員的一種天生的直覺,做的時候就會預留下來)製圖表達默認會將符號分解,例如面要素,自動分解爲填充的面和線。上一步就是針對面進行了一些調成和設置。接下來就是對線進行一些調整。選中線符號,可以對線進行規則設置。例如這裏就先對線進行顏色設置,然後添加一個規則,對線整體偏移一個距離,並調整顏色比原來填充的顏色深一個色階。如下圖,江西省區界加入了深顏色後,變得更有立體感一些。

接下來就是每一個類別設置一次對應的參數,設置好後,可以看看整體的效果

ArcGIS製圖表達使用條件

1.數據源

      由於製圖表達是需要維護一些列的製圖規則,並且保存在屬性表裏面。爲了提升其性能和管理方便,esri做了一些技術限制,就是傳統的shapefile不支持製圖表達,必須是使用Geodatabase數據格式。這有點類似annotation的做法,必須在gdb裏面存儲,一旦轉換爲shapefile之後就失效。Geodatabase的支持包括personal Geodatabase、filegdb、sde 。但如果按照性能來看,還是filegdb和sde要優勝很多。

2.軟件許可限制

      如果要使用製圖表達的話,建議還是使用ArcInfo級別的arcgis桌面軟件。因爲不同的許可也做了一些限制。例如ArcView級別的就只能查看製圖表達,不能做任何的製作和修改,ArcEditor級別許可,可以做管理和製作,常規的處理一般在這個級別上就可以是實現了。但如果要使用全部的功能,包括製圖表達的工具箱工具,那就必須是ArcInfo級別。

3.存儲方式

      製圖表達的結果是存儲在數據裏面,並非存儲在mxd中,因此,製圖方面的改動都會涉及到數據。如果有數據權限管理方面的規範的,一定要小心使用,特別是製圖的時候還需要跟數據庫管理員進行溝通(ArcSDE用戶),是否開通數據編輯的權限。製圖表達只要完成了製圖,就跟mxd沒任何的關係,什麼時候都可以快速切換製圖顯示。

4. 性能

      製圖表達由於是使用了規則進行了地圖的重繪,因此會根據規則的複雜度會有不同的性能損耗。特別是一些複雜的渲染,如色彩漸變效果就是特別佔用性能的;還有一些面要素填充規則,一旦填充的面積特別大,按照填充規則填充的內容特別多,性能就會非常慢。因此,如果是做信息系統的開發等,不建議使用製作表達去製作地圖。如果是做地圖出版和打印,這些最終結果是圖片的話,那製圖表達是不錯的選擇。

ArcGIS的製圖表達使用詳細闡釋

 對製圖表達運用是否純熟,主要是看對製圖表達規則的理解和巧妙運用。前面章節已經粗略介紹過製圖表達的運用,通過一些簡單的規則可以實現比較理想的出圖效果。但是,對於一些複雜的現實效果和製圖規範來說,簡單的規則的使用是遠遠不夠的,還需要對製圖規範和製圖符號進行分解,然後使用各種製圖表達規則進行重建。要熟悉製圖表達規則,首先要清楚製圖表的圖層。下圖是一個面要素類的製圖表達。

      在設置面板的下部,可以看到點、線、面 圖層的添加按鈕,全部都是可以點擊。在製圖表達裏面,這三個按鈕都是常亮模式。意味着無論是點線面的要素類,它們的製圖表達可以用的規則圖層都是沒有限制的。這跟標準符號的模式完全不一樣,可以看出製圖表達的製圖規則自由度非常的高。

      中間部分就是規則圖層,可以通過點擊下部的符號圖層進行增加。一個製圖表達裏面可以增加非常多的規則圖層,如下圖,多個點線面的符號圖層都在同一個符號圖層中表示出來。

規則圖層都有默認的全局設置。例如點規則圖層,默認是標記符號的大小、角度、放置等的設置。線規則符號的全局設置線寬、端頭、連接和顏色。面規則符號的全局設置就是單色模式下的顏色設置。

如果我們希望使用製圖表達去實現面狀填充的工作,那可以通過在面要素的製圖表達裏面增加點規則圖層,做一個位置隨機和大小隨機的填充。

 首選增加一個點的符號規則,選擇好適當的符號,然後在設置裏面【面中心】的小三角符號點擊一下,彈出【標記放置】規則,選擇【在面內隨機放置】。

      選擇好放置規則之後,可以看到整個設置界面都發生了變化,針對隨機放置,可以設置xy的步長值,如果不希望在邊界處出現半個符號的現象,可以設置【不顯示解除邊界的標記】

      接下來我們可以看看實際的效果,只是出現了一些位置的隨機,符號的大小設定爲原來的10pt,感覺還遠遠沒有實現我們想要的效果。

      別看這個小小的規則好像不成什麼氣候,不能實現具體的效果,但作爲製圖人,應該有這天生的製圖直覺。我們可以想象一下以前在標準符號系統裏面是怎麼實現符號規則的,其根本原理跟製圖表達的規則是一樣的,歸根到底就是【層】這個概念的理解。無論是地圖、符號、圖層組全部都是層的概念,所以,製圖表達裏面,我們可以使用多個製圖表達的符號層來疊加,實現複雜的表達。例如,我們可以再增加一層點的規則,調整符號的大小、隨機位置和隨機種子等,從而實現符號大小隨機。

再看其顯示效果,通過兩層符號規則的疊加,看起來實現了大小和位置的隨機。

如果再加一層不同的樹種,模仿一下植被的多樣性,那就再加一層符號,修改一下符號就行。如下圖所示

     上述例子看到看到製圖標的規則都是最爲原始的加減乘除算法一樣,只要合理的組合起來,就可以完成非常複雜的製圖效果了。但正是由於規則的粒度非常細,控制非常靈活,所以,對於沒有製圖經驗的技術人員來說,要從一個符號規範直接分解爲製圖表達規則,還需要長時間的鍛鍊和強化。這也就是爲什麼製圖表達比較難推廣的原因。

      前面看到的設置都是製圖表達的全局規則。除了全局規則之外,製圖表達還有【幾何效果】。全局規則都是非常粗略的規則設置,拿標準符號的線符號進行類比,全局規則就有點像【簡單線符號】,而幾何效果就像是【製圖線符號】裏面的模版一樣。

      幾何效果的作用更加類似與toolbox裏面的一些處理工具,toolboxl裏面的工具幾乎全部都是直接作用在數據之上,會產生新的數據,對於製圖來說,還需要增加圖層和符號來約束其效果。製圖表達的這些幾何效果就不一樣了,它是動態計算的,不會生成新的數據,而是在規則的rule_ID裏面保存這些規則配置。

      雖然幾何效果不多,但幾何效果有一個特點,就像PS裏面的濾鏡一樣,可以進行相互疊加,這是一種排列組合的機制,看似不多的幾何效果,其實組合起來是非常多。例如我們可以對面做一些效果,多個效果進行疊加,例如先做平滑,然後簡化。如下圖

又或者是先簡化後平滑,雖然兩者的參數是一樣,但幾何效果的順序不一樣,可以看到規則的示意圖也是不一樣的,如下圖所示

      所以,從這些簡單的規則和幾何效果的使用來看,製圖表達在這方面雖然很簡單,但實際很強大。這裏面非常需要有豐富竟然的製圖人員進行規則的分解和重構。只要製圖人員有足夠的想象力和分解能力,可以根據製圖表達實現幾乎所有的地圖效果。

 

邊界線實部相交製作

 很多人在使用ArcGIS的標準符號去顯示虛線邊界的時候,會發現虛線在邊界的交匯處,其顯示是隨機,如下圖

      但只要地圖範圍改變一下,這個交接的部分就會反生變化,其表達同樣不理想。使用製圖表達可以解決這個問題,因爲製圖表達有這非常嚴禁的規則約束。

      根據之前章節介紹的使用製圖表達的流程,先在標註符號設置符號的顯示,然後將其轉換爲製圖表達,再對製圖表達進行規則的修改,這樣可以免去在製圖表達中重新設置符號的一些工作。當然不是說在標準符號設置了就不用再在製圖表達裏面設置了,而是簡化了一些操作步驟而已。轉換爲製圖表達之後,來看看效果。

      在製圖表達的規則設置裏面,默認根據標準符號進行了默認的轉換設置(如果不做設置的話,新建的線規則圖層就是實現符號),根據虛線的設置,默認增加了虛線的幾何效果,並在【模式】中設置 了實部和虛部的長度。這個實部和虛部就是我們說的虛線的長度和間隔。如果覺得這個模式不合理,可以點擊模式的數字位置,進行重新修改。例如,我們要修改爲虛實相等的虛線符號,如下圖設置

      在默認設置中,【端點】顯示爲【無約束】。這個【無約束】其實就是在端點出沒有任何的規則進行約束顯示,其效果就像標準符號裏面的虛線一樣,但由於沒有任何的約束,其顯示速度就非常快了。這裏主要介紹【端點】的特性。端點,就是在線的兩頭的起始點,端點的規則,在製圖表達裏面分爲【無約束】【全模式】【半模式】【半間距】【全間距】和【自定義】。如下圖所示

    線符號的這個端點模式,其實就是應用模式的起點。例如這個例子中的虛線是黑白相間,那麼在起點或者終點的規則就關乎到其實部和虛部的顯示效果了。配合中間的圖例部分,可以看到這幾種模式的特點。接下來我們重點介紹【全模式】【半模式】【半間距】【全間距】這四種模式

【全模式】:在端點使用一個完整的實部進行渲染

【半模式】:在端點使用半個實部進行渲染

【半間距】:在端點使用半個空白間隔進行渲染

【全間距】:在端點出使用整個空白間隔進行渲染

      反觀行政邊界要顯示效果,就是在端點出顯示一個完整的實部,從而實現虛線的實部相交。通過對規則的分解,可以得出一個結論,如果在端點出使用了半個實部的符號開始渲染,那麼交匯處兩端組合起來,剛好是一個完整的實部符號。所以,針對這個場景,不難看出,需要使用的是【半模式】,設置後可以看到其實部相交的效果

最終的顯示效果如下

行道樹的製作方法

     對於行道樹這種有特殊規律的線規則來說,在製圖表達裏面實在是最好實現不過了。但是我們這裏不是不單是簡單的道路邊線的行道樹,而是表現公園外圍的行道樹。如下圖,需要模擬公園外圍的行道樹。

     新建一個點符號,設置好點符號的大小和符號樣式。點擊加號,在圖上三角符號處點擊彈出【標記放置】,選擇【沿輪廓】,並設置好間距,如下圖

 如果希望這個符號完全落在面裏面,可以對點符號圖層增加一個緩衝區效果,其距離爲半個符號的大小的負值,如下圖

河流線漸變

 

      首先來看河流線漸變效果。圖上的效果是一種誇大的效果,主要是爲了讓技術人員能夠看清楚其具體效果的變化。一般情況下,河流線的這種從發源處線條比較幼細,然後中游稍微寬大,下游逐漸變大的效果,會出現在小比例尺的大圖中,基本上是使用線寬漸變的效果。

     在傳統的線符號顯示中,主要是粗細均勻的顯示。如果要實現線條粗細漸變,則需要採用製圖表達的幾何效果,用【錐狀面】來渲染線條。在使用製圖表達之前,首選要確保一項非常重要的事情,就是河流的流向必須是正確的。我們可以用gis數據的數字化方向來表達流向。下圖是河流的標準符號顯示

先給予河流一個特殊符號渲染,用箭頭符號渲染它,箭頭指向終點(即指流向),如果發現有錯誤的地方,通過編輯進行線要素的反向操作。

  如果發現方向錯誤,用編輯器雙擊選中,使用右鍵進行反向。這一步非常重要,因爲如果流向不對,或存在邏輯性錯誤,會導致後來的效果亂七八糟。

確保所有的流向都沒有問題,那就可以切換爲原來的河流模樣,並轉爲製圖表達

在製圖表達規則中,增加一個面符號圖層,設置爲藍色,並刪除掉原來的線符號圖層。

 點擊加號,增加【錐狀面】效果

點擊確定之後幾乎出現讓人崩潰的畫面,如下圖所示

  這個其實不要緊,因爲製圖表達規則在每一要素之間都應用了規則。由於河流是分段,所以出現這種每一個線要素都是錐形顯示。那麼接下來就是使用製圖表達的編輯工具進行製圖表達的修改。在菜單空白的地方,右鍵調出製圖表達工具,如下圖

      同時使用編輯工具打開編輯,這樣,通過使用製圖表達的選擇箭頭(是製圖表達工具裏面的褐色箭頭工具,不是編輯工具裏面的選擇工具),選中後使用右鍵屬性

在屬性中切換到製圖表達規則,修改這個規則,如果是中間部分可以改爲兩端大小一樣,如下圖,這樣就有一個很好的銜接。

這些規則的修改,就是存儲在override字段裏面。所有的河段都修改之後,就可以出下圖的漸變效果了。

   如果覺得效果不是很明顯,不夠圓潤,可以使用平滑效果進行處理。製圖的工作本來就是挑刺和精益求精,所以,多試試其他的效果不是壞事。

符號旋轉

 

某些時候需要針對點符號進行一定規則的旋轉。例如水利專題圖上就要求測站(等腰三角形符號)參考河流線垂直旋轉。

      根據標磚符號的方式,是需要增加一個角度字段,設置好角度值,使用符號的高級渲染進行按角度旋轉。雖然這樣做也能實現旋轉,但畢竟每個角度都要手工輸入,並且要細緻調整,工作量比較大。
首先需要將地圖在標準符號下配置好,然後兩個圖層都必須轉爲製圖表達。如下圖

      然後要設置地圖的參考比例。參考比例可以理解爲我們要製作地圖的比例尺。例如要製作1:5w的地圖,就先縮放到1:5w,然後數據框中設置爲參考比例。如下圖

      然後可以在工具箱裏面找到【製圖工具】--【製圖優化】--【對齊標記】工具,並且設置點符號圖層和參考的線要素圖層,給定一個搜索距離(如果點是落在線上,這個距離設置一個很小的值就夠了,如果點落在線外,則根據自己的數據適當嘗試不同的值)。

 設置好後點擊【確定】就可以了出結果了。

製圖表達裏的控制點

此控制點非測繪行業術語的控制點,而是製圖表達裏面的控制點,所以不能混爲一談。

      在ArcGIS製圖表達裏面,控制點是一個非常有意義的存在。一般的情況下,我們是沒能發現它的存在的,因爲它很多時候都是默認作用在端點上。例如之前的實部相交的例子,模式的應用就直接作用在端點上,這個端點的實際意義,就是我們所謂的控制點,但其物理上不是控制點而已。

      仔細想想就可以看出,製圖表達上的控制點,其實就是規則和幾何效果作用的起點。如果製圖表達的效果默認是在端點啓用的話,那麼控制點就是在線上強制開啓的端點,強制要求在該點上啓用規則。首先我們來回顧一下之前的實部相交效果,

      這個例子雖然在端點出實現了實部相交,但在其他的一些部分,還是出現了虛線很虛的狀況,尤其是折點的位置,就如下圖綠色圈住的部分。

      我們最希望的就是在這些地方也能像兩根線相交處一樣,能夠實現半模式的效果,這樣就可以實現在折點處虛線也是實部相交。其實這個效果非常簡單,就是使用控制點強行改變折點的屬性,讓其帶有端點的效果。接下來我們可以看看怎麼去操作這個步驟了。

      首先,要將編輯工具和製圖表達工具調出來,因爲我們需要對線上折點進行編輯。開啓編輯,並使用製圖表達工具條的選擇工具,選中摸一條線,進入節點編輯模式

      留意其所有節點的顯示狀態,都是一個淺藍色的正方向。接下來在製圖表達工具條中點擊鋼筆符號,下拉選擇工具類型,可以看到有幾項關於控制點的選項

      選擇【插入控制點】工具,鼠標指針會變爲其插入控制點狀態,這樣在線上任意一點點一下就可以插入控制點。這裏對應的要求,就是在折點處插入一個控制點。用這個工具在線上藍色正方形上點一點,這個正方型就會變成倒立的菱形。菱形就是控制點的顯示符號。如下圖所示

取消選擇之後,就可以看到在這個折點處,也應用了半模式的顯示,變成了是不相交。

      其接下來的思路就是非常簡單粗暴,控制點就像萬金油一樣,哪裏需要就點哪裏,這樣通過增加控制點來實現折點處也是實部相交。當然也有人會問,如果有非常多的線和非常多的折點需要插入控制點,那豈不是非常麻煩?是的,不過,ArcGIS已經在一開始已經想到這個問題了,所以在製圖工具箱裏面已經加入了批量處理功能,而且還可以非常友好的處理角度。在【製圖優化】-【按角度設置控制點】中,選中圖層,然後輸入一個最大的角度

點擊確定後,馬上可以看到整體效果,所有的折點處會插入對應的控制點,通過控制點來實現了所有的折點都是實部相交。如下圖

      這個工具是一個非常好用的工具,尤其是一些境界線,是有要求角度在什麼範圍內折點處必須是實部相交,通過這個工具可以非常快速的實現規範要求。當然,很多時候我們也可以學以致用,充分發揮自己的想象力。例如需要檢查數據是否有尖銳的角度(一般是管線,因爲管線很少會出現呈低於90度的交接的),所以,可以設置虛線端點處使用一個非常特殊的符號,然後使用半模式,通過上述工具,執行一個不大於90度的控制點批量插入。其最終會將那些尖銳角度的拐點全部檢查出來。

      雖然數據檢查跟圖關係不大,但實際上還是可以使用一些工具實現曲線救國的。所以說,很多時候技術只是支撐,關鍵是想象力和靈活運用。

      順便提一下,控制點是對規則應用的重新覆蓋,所以數據會存入到override字段中。前面章節也提交過,override字段保存的東西越多,製圖表達的性能就越慢,因此,對於覆蓋的操作,不到萬不得已,不要隨便使用,也會給後期的修改帶來一些麻煩。

      在看下面一個例子,就是典型的模式+控制點的運用。一些國界類符號,有特殊顯示的,要求在折點處變現的符號需要自動轉變(跟規定的一般符號有一定的差異),如下圖

這種到的工字形符號,在折點處除了要是不相交外,還需要保留一個完整的符號,並且符號兩端需要與線方向保持垂直。這類型的規則其實並不懶,可以將其分解成兩個層。一個是虛線層,就是使用我們之前說的半模式規則去實現。然在在頂上再加一個點符號層去表達,這個點符號層的模式、間距都必須跟線符號層保持一致。然後在【標記】的放置位置使用在端點處【兩側】顯示,並勾選上與線成角度。

      設置好這個規則之後,當然就是使用上面的工具批量插入控制點,這樣就可以實現其效果了。至於其他的一些非常難實現的效果,例如山崖等,可以想想通過多種組合圖層的方式,多種規則疊加方式去實現了。

      同樣的方式可以實現管線的效果,管點處使用的是一個符號,然後兩端等距離處放一個特殊的符號,並與線成一定角度。如下圖

其做法也是類似,只是有兩個點來代替原來的一個點圖層顯示。

製圖表達編輯

 首先將要素加載進來,並將其轉換爲製圖表達

打開【編輯器】和【製圖表達工具】,開啓編輯模式,用製圖表達的選擇工具選中要素,點擊製圖表達下拉,選擇【自由式製圖表達】--【轉爲自由式製圖表達】,轉換後就可以對製圖表達進行非常細緻的編輯了。

      繼續選中這個要素,在【製圖表達】-【自由式製圖表達】,就可以看到【編輯自由式製圖表達】,就可以進入一個更加細緻的界面。

到了【編輯自由式製圖表達】的界面,看起來就非常熟悉不過了,完全就是一個圖片編輯器。右上角是一系類的編輯工具,選中要素後,同時也可以看到工具條下的製圖表達規則和效果。

      在這個界面下面,就可以同時使用自由編輯工具和製圖表達的規則和幾何效果工具。製圖就是一個需要想象力的工作,當我們看到這個橢圓形的要素的時候,就應該能夠和真實的運動場聯繫起來。最起碼第一時間能夠想到用抽象的簡筆畫繪製出來。所以,製圖也是一個綜合能力的體現。

      首先我們來分解一下球場的大體輪廓,有一圈又一圈的座位,並需要具體知道多少,只需要知道有很多,並且是一圈又一圈就知道了。沿着運動場邊緣去繪製座位,非常簡單,只需要用利用邊線去做一些內緩衝線即可。增加好幾層線符號,分別做等距的內緩衝。

  通過簡單的重複操作,運動場的這些作爲的輪廓基本上就出來了。在運動場中間加入足球場的白色邊界,那就更加明顯了。使用【創建】工具(就是A字下的工具)可以很快的繪製出一個矩形面。當然,繪製出來的就是一個具有填充的面。

        繪製出來的填充面是可以調整大小和位置的。將其調整好後,放置到運動場的中間。這裏我們不需要面填充,值需要其邊線就足夠了,可以計入一個線符號層,然後刪除其面符號層。

  中場線和兩邊的球門位置的線也可以通過鋼筆工具和圓形工具進行繪製。這些都需要一定的繪圖基礎了。

 基本輪廓出來之後,就是製圖裏面精益求精的部分。與其說是精益求精,不如說是吹毛求疵吧。爲了增強視覺效果,可以手繪一些放射線,讓運動場座位變得有間隔;繪製一些不同顏色的面加入到球場裏面,座位最前排座位,看起來更加突出一些;增加一些梯形凹陷,看似是進入球場的球員通道。這些都不是操作問題,而是想象力的問題了。

    當然了,要讓運動場整體還有一個俯瞰的效果,筆者特意針對整個橢圓面,增加兩個面符號層,分別上下移動一些位置,賦予一些灰顏色,看起來層次感更加強烈。

     有時候製圖並不是個技術活,它還是需要一些藝術細胞的,需要一些工匠精神,也需要比較較真和執着。所有的工作完成之後,點擊【確定】按鈕,進行保存。一般建議是完成一部分繪製就保存一下,因爲這個界面下一不小心退出,之前的工作就全部丟失,這會非常的痛苦。

      再一次重申一下,這種自由式製圖表達式保存在override字段裏面的,每次繪製的時候都會從裏面讀取這些雜亂無章的信息並進行重新加載,會增加整個地圖的顯示性能,因此,不要隨便使用自由式的製圖表達。

      自由式製圖表達一般是在標誌性建築和地貌時才使用,這樣結合其他規則,可以使顯示和性能同時得到兼顧。可以說,自由式製圖表達就是點睛之筆。

11、水立方

思路:按照範圍繪製一個矩形區域,在區域內部生成不規則多邊形格網,對多邊形格網進行藝術效果設置。

創建面要素

加載北京市底圖,觀察數據,找到“國家游泳中心”,確定繪製水立方的位置。在Catalog或ArcMap目錄窗口中新建面要素類,命名爲“水立方”。開啓編輯,繪製國家游泳中心的位置。

創建隨機點

利用ArcToolbox > Data Management Tools > Feature Class > CreateRandom Points在面要素內部創建隨機點。

Output Location:創建隨機點要素類所要使用的位置或工作空間。此位置或工作空間必須已經存在;

Output PointFeature Class:要創建的隨機點要素類的名稱;

ConstrainingFeature Class:將在此要素類中的要素的內部或沿線生成隨機點,選擇“水立方”面要素。

Number of Points:要隨機生成的點的數量。;

Minimum AllowedDistance:任意兩個隨機放置的點之間的最小允許距離。

創建泰森多邊形

  利用ArcToolbox > Analysis Tools > Proximity > Create ThiessenPolygons依據隨機點要素創建泰森多邊形。

  Input Feature:生成泰森多邊形所依據的點輸入要素。選擇randompoints圖層。

  Output FeatureClass:包含根據點輸入要素生成的泰森多邊形的輸出要素類。

  點擊確定後運行工具,生成的泰森多邊形比原先繪製的水立方範圍大,因此藉助ArcToolbox > Analysis Tools > Extract > Clip工具進行裁剪。

  Input Feature:要裁剪的要素,選擇泰森多邊形圖層;

  Clip Feature:用於裁剪輸入要素的要素,選擇水立方圖層;

  Output FeatureClass:要創建的要素類,輸入輸出要素類的存放位置和名稱。


創建制圖表達

  至此爲止,水立方的幾何形狀已經產生了,只需要對其進行顏色填充就可以完成了,但是普通的面填充無法達到帶有光暈的效果,因此我們需要採用製圖表達的方法進行面的填充。

  將裁剪後的新圖層(水立方_clip)符號化轉爲製圖表達,在圖層上右鍵單擊ConvertSymbology to Representation,各參數都採用默認狀態。

  打開圖層屬性對話框,在Symbology標籤下找到Representations。

  更改Rule_1中填充符號圖層的表現形式,改爲Gradient。

  調整Color1和Color2的顏色。Color 1:選擇與水體接近的顏色,比如SodaliteBlue;Color 2:Arctic White。

  Style:選擇Buffer。

  更改線符號圖層的顏色,選擇稍深一些的藍色較好。

  單擊確定後查看最終結果如圖。

last

地圖整飾(map appearance)關於地圖內容的表現形式和手段的技術,是地圖製圖學中的一個重要部分,也是製圖實踐中的一種造型藝術和工序。根據透視和色彩學原理,利用圖案、色彩顯示地圖內容的類別、特徵、主次關係、地理分佈和相互聯繫等。地圖整飾主要包括:地圖符號設計,色彩設計,地貌立體表示,出版原圖繪製,圖面配置和圖外裝飾設計等。狹隘範圍的地圖整飾是指在地圖印刷出版前爲地圖配置圖面和圖外裝飾,如:標題、圖例、指北針、比例尺、邊框、源信息和其他文本,以及插圖等,方便使用地圖的人讀圖。

地圖整飾要素:可幫助地圖瀏覽者解釋地圖的任何支持對象或元素。典型的地圖整飾要素元素包括標題、圖例、指北針、比例尺、邊框、源信息和其他文本,以及插圖。

在紙圖製作中,需要花費巨量的時間去做地圖整飾工作。如果認爲這些整飾看起來非常簡單,那就大錯特錯了。標準的製圖製作,例如標準地形圖,會涉及到圖框樣式、接圖表、內外圖框要素處理等,工作量一點都不比地圖符號化少,而且針對國內標準,還有很多軟件不能直接實現的問題。

佈局視圖:在ArcMap 中的一種用於顯示虛擬頁面的顯示。在佈局視圖上,針對打印放置和排列地理數據和地圖元素(如標題、圖例和比例尺)。

經緯網:地圖上由經度線和緯度線組成的網絡,或者將地圖上的座標與地球上的真實位置聯繫起來的圖表。

動態文本:放在地圖佈局上的文本,可根據地圖文檔、數據框或數據驅動頁面等的當前屬性動態變化。

 

12 綜合製圖

中國年降水量分佈圖的製作

以中國年降水量分佈圖的製作爲例詳細地介紹了數據的獲取、預處理、空間降水插值直到最後成圖的整個過程。共分爲三個部分:

第一部分:底圖的製作。這一部分介紹襯托專題圖的底圖的製作,這一部分的結果還可以作爲其它專題圖的底圖;

第二部分:中國年降水量插值。這一部分介紹用ArcGIS的空間插值方法將氣象站點的降水量數據插值得到全國範圍內的降水分佈;

第三部分:地圖整飾。這一部分介紹添加地圖要素和美化及最後出圖。

所有的步驟都在ArcGIS10/10.1環境下,本文涉及到的數據,以及最後結果(包括本文)在(http://pan.baidu.com/share/link?shareid=61512&uk=352462598)中下載。
底圖製作

 

Step1-1:數據準備

(1)先在網上下載中國地圖shp格式的文件以及中國省級行政中心的shp文件;

(2)世界國家圖以及河流矢量圖。如果大家安裝了IDL,那麼在IDL的安裝目錄下:D:\Program Files\ITT\IDL\IDL80\resource\maps\shape,可以找到cntry02.shp和rivers.shp;

以上數據可以從這裏下載http://pan.baidu.com/share/link?shareid=54856&uk=352462598

總共包含五個文件:

bou2_4l.shp:中國政區的線文件,在這個線文件裏包含了南海的九段線

bou2_4p.shp:中國政區的面文件

rivers.shp:世界主要河流

cntry02.shp:世界國家面文件

省會城市.shp:中國省會城市點文件

注意:ITT提供的兩個文件沒有設置座標系,需要先在Catalog中將這兩個文件(rivers.shp和cntry02.shp)的地理座標系設爲WGS84。

Step1-2:設置投影

打開ArcMap將這些文件添加進去,接下來我們要給Dataframe設置一個投影座標系。由於我們要做的是中國全國的降水量分佈,我們使用等面積的Albers投影。右擊Layers->Properties->Coordinate System選項卡->newProject System,選擇Albers,設置中央經線105,標準緯線25度,47度,在地理座標系中選擇WGS84。設置如圖:

Step 1-3:放大圖可以看到,沿海一帶有很多面積很小的島嶼,爲了製圖的美觀,需要刪掉一些面積小的島嶼,但是在這之前,必需把南海諸島以及臺灣周圍的島嶼保留下來(原因大家都懂的)。

關閉其它圖層(只留下政區圖層bou2_4p),開始編輯進入編輯狀態,選中南海的那些島嶼以及臺灣周邊島嶼,如圖:

在bou2_4p圖層上右擊選擇Selection->Create Layer From Selected Features。將選中的要素創建一個新的圖層。

停止編輯,在剛剛產生的圖層上右擊選擇Data->Export Data…,將選擇的要素導出,命名爲“南海諸島及其它島嶼.shp”。

接下來我們就可以刪掉面積小的島嶼了。繼續進入編輯狀態,打開bou2_4p的屬性表,打開Select by Attribute對話框,輸入"AREA"< 0.01,點擊apply,選中面積爲小於0.01的多邊形,刪除。

Step1-4: 提取出中國的輪廓線

接下來我們要從政區文件(bou2_4p)中提取出中國的輪廓線。這一步的目的是我們要分開中國在陸地上的國界和在海岸線上的國界,因爲這兩者在製圖的時候是不同的。之所不直接用政區線文件提取輪廓是因爲經過一些處理以後用面文件提取會更方便(下面會細說);而不用IDL中的國家(cntry02)是因爲ITT提供的世界圖是他們所認爲的世界圖(對比一下中國的藏南地區就會發現,在這個世界圖上,中國的藏南地區是直接劃給印度的,所以我們不用它,只把它作爲底圖)。

打開Toolbox->Data Management Tools->Features->Polygon to Line,將輸出文件命名爲“中國線.shp”。確保”Identifyand store polygon neighboring information(optional)”選中(保留每條線段兩邊的多邊形信息是下一步提取輪廓線的關鍵;另外,Feature to Line也能實現面轉線的功能,但是沒有選項)。

打開“中國線.shp”屬性表,選中LEFT_FID=-1或者RIGHT_FID=-1的所有要素,這個時候邊界上的所有線要素就被選中了。如前所述的方法,將選中的要素創建圖層,並導出成單獨的圖層,命名爲“中國輪廓線.shp”。

Step1-5:提取陸上國界和海上國界

新建一個點文件(座標系設爲WGS84),進入編輯狀態。在遼寧與朝鮮的入海口處、廣西與越南的入海口處創建兩個點,保存並停止編輯。

使用Toolbox->Data Management Tools->Features->Split Line atPoint工具,將線在點處打段。並且在編輯狀態下,用Merge工具將兩部分分別合併在一起;並新建一個字段用以區分陸上國界和海上國界。

Step1-6:提取出九段線

這一步我們從中國政區的線文件(bou2_4l)中提取出九段線。名稱是叫九段線,但是實際上在現在地圖出版物中都是10段的。這一步比較簡單,在編輯狀態下選出這10段線,導出成單獨的文件,命名爲“九段線.shp”。

到目前爲止,我們已經整理出來我們的底圖所需要的要素文件:

省會城市(點)

九段線(線)

中國輪廓線(線)

河流(線)

南海諸島及其它島嶼(面)

中國政區(面)

國家(面)

接下來我們對這些要素進行符號化。

Step1-7:紙張設置

首先在File->Page and Print Setup中,將紙張調成橫向。進入版面視圖,適當調整數據框的大小和位置(上面留出寫標題的空間,右邊留出說明文字的空間),將地圖比例尺改爲1:25 000 000。

將國家層的填充顏色設爲10%灰度,邊框寬度0.2,邊框顏色爲20%灰度。這時,整體如圖:

Step1-9:設置國界線的符號樣式

雙擊“中國輪廓線”圖層打開Layer Properties對話框,在Symbology中選擇Categories方式,在ValueField中選擇國界類型,點擊Add all Values。雙擊陸上國界的符號,打開Symbol Selector對話框,隨便選擇一種線型符號,點擊“Edit Symbol”,打開Symbol Property Editor對話框。

對對話框中點擊左下的“+”號新建兩層。將線型符號的顏色設爲50%灰度,線寬0.5,Line Joins爲“Round”。第二層的顏色設爲Mango(RGB 255,211,127),線寬2,Line Joins設爲“Round”,將Line Propeties中的Offset設爲1。類似地,第三層的顏色設爲Topaz Sand(RGB 255,235,175),線寬4,Line Joins設爲“Round”,將Line Propeties中的Offset設爲2。點擊確定,返回Symbol Selector對話框,可以將剛剛設置的樣式保存。

點擊確定返回Layer Properties對話框,將海上國界的符號樣式設置爲:顏色Yogo Blue(RGB 115,178,255),線寬0.4。設置完成後國界線的效果如圖:

將九段線的符號樣式也設置成陸上國界的樣式。

Step1-10:設置省會城市符號

將省會城市的符號類型設置爲“Circle 19”,顏色50%灰度,大小6。並右擊該圖層設置“Label Features”。

Step1-11:設置河流符號樣式

使用ArcToolbox->Cartography Tools->Generalization->Smooth Line工具,將河流光滑。”SmoothingAlgorithm”方法選擇BEZIER_INTERPOLATION。完成以後設置河流的符號樣式爲:顏色Cretean Blue(RGB 0,112,255),線寬0.5。爲了只讓它顯示長江和黃河,雙擊光滑過的河流圖層,切換到“Definition Query”選項卡,在Definition Query中輸入"NAME" = 'Huang He' OR "NAME" = 'Yangtze',點擊確定。

Step1-12:爲數據框設置背景顏色

Step1-13:爲數據框添加經緯線

雙擊數據框“Layers”打開Data Frame Properties對話框,切換到“Grids”選項卡,點擊“New Grid…”,保持默認一直到Finish。接下來點擊“Properties…”打開“Reference System Properties”對話框。

在“Axes”選項卡中,取消”Major Division Ticks”和”Subdivision Ticks”中所有的複選框;

在“Interior Labels”選項卡中,取消”Show interior grid labels”複選框;

在“Labels”選項卡中,設置Label的字體爲Times new Roman,8號,“Label Offset”爲“-2”pts。點擊“Additional Properties”打開“Grid Label Properties”對話框,取消“Show coordinate direction labels”複選框,取消“Show zerominutes”和“Show zero seconds”複選框;

在“Lines”選項卡中,點擊Symbol,設置經緯線的符號樣式爲:顏色Moorea Blue(RGB 0,169,230),線寬0.2;

Step1-14:添加北迴歸線

雙擊數據框“Layers”打開Data Frame Properties對話框,切換到“Grids”選項卡,點擊“New Grid…”,保持默認一直到Finish。點擊“Properties…”打開“Reference System Properties”對話框。

在“Lines”選項卡中設置線型爲“Dashed 4:4”,顏色40%灰度,線寬0.4;

在“Label”選項卡中取消所有複選框;

在“Intervals”選項卡中如下設置:

點擊確定。點擊菜單”Insert”->”Text”插入“北迴歸線”四個字,雙擊這四個字,如下設置:

到現在爲止,底圖就基本做完了,效果如下圖所示。之所以叫基本做完了,是因爲,還有重要的南海諸島沒有放上去,但是這一步留到最後才做。

中國年降水量插值

 

要做中國年降水量的空間分佈圖,首要的問題是如何獲取降水量數據,我們從中國氣象科學數據共享服務網(cdc.cma.gov.cn)下載中國國際地點交換站的降水量數據。

Step2-1:數據準備

中國氣象科學數據共享服務網(cdc.cma.gov.cn)。在中國地面國際交換點氣候資料日值數據集(本文可以直接利用月值數據集來做)中下載2011年中國氣象站20-20時降水量數據,包括66430條數據。並下載元數據。元數據中包括中國地面氣候資料國際交換站數據集臺站信息,其中有區站編號、站名、經緯度、海拔高度等信息。站點的經緯度信息是建立空間關係的基礎(如圖1所示)。國際交換站從建站到2007年資料臺站數爲206個。

下載不到數據的請點這裏(http://pan.baidu.com/share/link?shareid=60717&uk=352462598)

Step2-2:數據預處理

在下到的數據中,有一些值如999、9999、32700等是填充值,要先去掉。接下來,這些數據存放的是每個臺站365天的降水量,所以先要統計得到每個站的年降水量數據。在Excel中打開降水量數據表,選中所有數據,點擊插入­->數據透視表,插入一個新的數據透視表。

在數據透視表中勾上“臺站”、“月”和“20-20降水量(無填充值)”。並拖到如下圖所示的位置,在“數值”一欄中設置“求各項”,這樣就統計出了每個氣象站點的年降水量值。將這個表整理,並將降水量由0.1mm處理成1mm爲單位的數據。

Step2-3:導入站點數據

在下載到的站點信息中提供了每個站點的經緯度座標,這樣我們可以利用ArcMap->File->Add Data->Add XY Data將站點導入ArcMap中,注意導入時設置座標系爲WGS84。用Data->ExportData將站點導出成shp文件,命名爲“氣象站點.shp”。如圖2-4。

Step2-4:投影氣象站點

使用Data Managerment Tools->Project andTransformations->Features->Project工具將點數據投影到Albers平面上(中央經線105度,標準緯線25度、45度。生成氣象站點_Project文件)。

Step2-5:關聯氣象站點與降水量值

在氣象站點_Project右擊->Joins and Relates->Join,使用臺站號作爲關聯ID,將氣象站點與每個站點的降水值關聯起來。從關聯結果可以看出,只有181個(總共206個)關聯成功了,這是因爲有些氣象站點被廢棄不用了。結果如圖:

Step2-6:插值方法研究

接下來我們便要用這181個樣本點的數據插值得到全國的年降水量分佈。空間降水插值一直是個難題,影響降水的因素很多,如經度、緯度、高程、坡度、坡向、離水體的距離等,建立一個通用的降水插值模型幾乎是不可能的。空間降水插值方法很多,優缺點和適用性不同。總體上,降水的空間插值方法有3類:整體插值法(趨勢面法和多元迴歸法等) 、局部插值法(泰森多邊形法、反距離加權法、克里金插值法和樣條法)和混合插值法(整體插值法和局部插值法的綜合) 。何紅豔(2005)比較了各種降水插值的優缺點:

在這裏,克里金插值能達到較高的精度,而爲了能考慮高程的因素,我們選擇使用協同克里金插值。協同克里金插值的一個前提是,降水量與高程應該有相關性。爲此,下一步我們要驗證年降水量與高程是不是相關的。

Step2-7:相關性檢驗

在我們關聯的降水量數據以後,氣象站點的屬性表裏就有了站點的高程和站點的年降水量。把屬性表導出,並用SPSS檢驗兩者的相關性,結果如下:

結果表明,站點的年降水量與高程顯著相關,於是,我們便可以利用站點本身附帶的高程數據對降水量進行插值了。

Step2-8:降水量插值

在工具欄空白處右擊打開Geostatistical Analyst工具條,選擇Geostatistical Wizard,每一步的設置如下:

第一步:在“Methods”中選擇“Kriging/CoKriging”,Dataset中選擇“氣象站點_Project”,DataField選擇“降水量_毫米”,Dataset 2中選擇“氣象站點_Project”,DataField選擇“海拔高度”;

第二步:由經驗知我國的降水由東南往西北會遞減,在這裏選擇“First”以剔除降水分佈的趨勢分佈(一次);

第三步:年降水量分佈的趨勢(一次趨勢面)

第四步:設置Number of Lags爲24

第五步:設置SectorType爲四方向

第六步:交叉驗證

由交叉驗證結果可以看出,插值誤差爲0.899(毫米),均方根誤差162.0961,平均標準誤差爲156.8678,兩者比較接近。標準均方根誤差爲1.039048。點擊Finish完成插值。

Step8:插值結果導出。插值所覆蓋的範圍默認只包含氣象點的最小外包矩形,要把它擴展到整個中國區域。雙擊插值產生的圖層在Layer Properties對話框中切換到“Extent”選項卡,在“Set the Extent to ”選擇“the rectangular extent of 中國政區”。

在插值結果圖層上右擊,選擇Data->Export to Raster,將結果導出成柵格數據。並使用Spatial Analyst->Extraction->Extract byMask將中國區域提取出來,結果如圖:

到這裏,就完成了中國年降水量的插值了。

地圖整飭

Step3-1:降水量分級

注意,這一步我們從克里金插值得到的結果做起,而不是從導出的柵格數據做起,因爲ArcGIS將插值結果導出柵格時會有一些小小的問題(從圖2-16的西藏地區的結果可以看出,當然這也可能是樣本點的問題)。從插值結果可以看出,年降水量在1.68-1957.28mm的範圍內,我們按照母100毫米分一級的等距分級法進行分級。雙擊插值結果圖層打開Layer Properties對話框,在Symbology選項卡中選擇Classified方法,點擊“Classfify…”,選擇“Manual”,Classes:20,在“Break”中手動輸入從100-2000:

點擊OK,選擇從藍色到紅色的漸變,結果如圖

Step3-2:結果導出成矢量文件

右擊選擇Data->Export to Vector,在“Contour Type”中選擇“FILLEDCONTOUR”,導出文件命名爲降水量。

Step3-3:分級設色

雙擊降水量圖層,設置如下:

點擊確定。這裏有兩種方法,使得只顯示中國範圍內的數據:

方法一:動態裁剪法。雙擊數據框Layers,設置圖層的裁剪範圍:

方法二:矢量轉柵格。將降水量的矢量數據轉爲柵格數據,並用Spatial Analyst->Extraction->Extract by Mask將中國區域提取出來。

由於第一種方法每次刷新時都要實時計算顯示的範圍,速度很慢,本文使用方法二。結果如圖:

Step3-4:生成等降水量線

用Spatial Analyst->Surface->Contour,設置間隔100,生成等降水量線。並使用Maplex引擎對其進行標註。ArcGIS10.1默認使用Maplex標註引擎,在ArcGIS10中,可以通過打開DataFrame Properties對話框在General選項卡中設置標註引擎爲Maplex。

雙擊等降水量線在圖層屬性對話框中切換到Labels選項卡,設置標註的字體和顏色,點擊“Placement Properties”,在“Label Position”中設置標註方式爲“Contour Placement”;在“Label Density”中勾選“Repeat Label”並設置適當的間隔;效果如圖:

Setp3-5:添加南海諸島

複製一份數據框Layers,粘貼,並調整到適當大小。

Step3-6:添加圖例

在左下角放置圖例,圖例的類型是“Legend Item Selector”中的第一種。

Step3-7:添加比例尺和投影信息

在左上角添加比例尺和投影信息。

Step3-8:添加其它要素

可以再添加對我國年降水量分佈特徵的說明性文字,ArcGIS中可以插入對象,將Word文檔插入到MXD文檔中,但是在導出圖片的時候會有一些問題,所以本文把這些文字做成了圖片插入。另外,還可以在EXCEL中統計年降水量最多或最小的站點的數據,做成圖片插入MXD文檔中。最後添加一些製作人的信息。

Step3-9:出圖

到現在爲止,所有的工作都完成了,File->Export Map把圖片導出成JPG格式,設置下分辨率300dpi,最終的結果如下:

(注:部分內容爲網上收集整理,其實地圖製圖也是GIS中非常重要的一項內容。倘若是自我創作,那麼製作一幅精美的地圖需要花費大量的腦力勞動,個別的知識點或者技術點喫不透,都是一件非常惱人的事情,且行且珍惜。)

結束

地圖設計本身沒有絕對的對與錯,但卻有較好、效率較高的地圖和較差、效率較低的地圖,視覺感知在我們的潛意識裏告訴這副地圖的優劣。對於地圖表現要素的選擇,很大程度上在於是否精心考慮了讀者的視覺和理解需要。

當前,地圖數據獲取方式多了,製作方法多了,信息也更加準確了,但是製作出來的地圖卻越來越醜了。老一輩指責我們工匠精神的缺失,但他們卻不知道這個時代對我們的無禮和踐踏,我們接收的數據和所要處理的事務是他們的10倍甚至100倍不止。千篇一律的傳授方式、程式化的製圖方式、快節奏的工作方式,項目無節制地蜂擁而來,作爲疲於奔命的當事人,很多時候根本無暇顧及地圖的優雅和美感。各種信息數據的奔流和爆炸是工業化、信息化時代野蠻的咆哮。

 

貌如幽蘭,蕙質蘭心,純正幽遠,沁人心脾。

 

參考:https://blog.csdn.net/smileliaohua/article/details/7994150#opennewwindow

           https://blog.csdn.net/liyuanxiang1984/article/details/39076711

           https://blog.csdn.net/qq_43362426/article/details/97367728

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章