在上次發(fā)布的文章中,只給出了矩陣索引的原理,并沒有說明相應(yīng)的操作注意事項(xiàng)。為了使新用戶更容易理解創(chuàng)建索引操作,這次重新發(fā)布并補(bǔ)充說明矩陣索引的操作設(shè)置。
TransCAD的數(shù)據(jù)庫自帶ID字段是自動(dòng)管理地理要素的需要,這樣可以減少用戶編輯的工作量,實(shí)現(xiàn)自動(dòng)管理(例如EMME軟件,添加一個(gè)路段,用戶需要先添加兩個(gè)節(jié)點(diǎn)FromNode和ToNode,然后再添加路段)。
舉個(gè)例子,在路網(wǎng)維護(hù)中,ID編號1-10的路段,后來你刪除了ID=5的路段,新增的路段ID就是11,不會(huì)是5。如果用戶希望重新編號,只要自己添加一個(gè)字段,編碼后導(dǎo)出新的地理文件的ID字段選擇為你自己定義的字段即可。
由于地理文件的ID字段是自動(dòng)生成的,基于以上特點(diǎn),為了方便管理,一般用戶會(huì)自己進(jìn)行自定義編碼(添加字段編碼即可),例如對交通小區(qū)的編碼。為了提高計(jì)算效率和將模型計(jì)算結(jié)果和GIS數(shù)據(jù)關(guān)聯(lián),TransCAD的交通分配等使用數(shù)據(jù)庫自動(dòng)的ID字段值,因此,用戶需要做一個(gè)“索引”,即把自己的編碼和數(shù)據(jù)庫的ID對應(yīng)起來。
EMME,VISUM或者CUBE,一般會(huì)把形心連線和形心點(diǎn),作為單獨(dú)的管理對象,甚至在界面里看起來是不同的圖層。根據(jù)交通分配網(wǎng)絡(luò)算法等原理,實(shí)際上形心連線和形心點(diǎn),是和路網(wǎng)、公交超級網(wǎng)絡(luò)都是放在一起參與運(yùn)算的,是一張網(wǎng)中的輔助link和node的特殊情況。
例如一個(gè)形心點(diǎn)連接了2個(gè)以上的形心連線,TransCAD就可以設(shè)置是否允許穿越形心(其他軟件一般是不允許穿越)。如在EMME軟件中,建立交通模型數(shù)據(jù)庫時(shí),會(huì)讓你定義有多少交通小區(qū),如果定義1000個(gè),可以只使用900個(gè)形心(當(dāng)然矩陣都是1000*1000,有點(diǎn)浪費(fèi)存儲空間,emme4以后的矩陣也采取了壓縮技術(shù),會(huì)好一點(diǎn)),一般把節(jié)點(diǎn)1-1000的號碼留給形心。
如果后面超過1000個(gè)小區(qū)了,那可能需要重新定義他的bank(數(shù)據(jù)庫)了。TransCAD的處理方法是,不管用戶的節(jié)點(diǎn)自動(dòng)編碼多大和多亂,用戶需要做一個(gè)自定義交通小區(qū)編碼和形心節(jié)點(diǎn)ID的對應(yīng)表(通過地理分析運(yùn)算很快就完成,具體的做法是:在節(jié)點(diǎn)數(shù)據(jù)表選擇要處理的形心記錄到選擇集,右擊交通小區(qū)號碼字段,F(xiàn)ill填充,用TAG方法,然后選擇交通小區(qū)圖層里定義的編碼字段即可),這樣做的好處是,隨時(shí)可以把哪些點(diǎn)當(dāng)做形心,或者哪些路段當(dāng)做形心連線,不事先約定交通小區(qū)數(shù)。
例如,高速公路網(wǎng)的運(yùn)行OD數(shù)據(jù),相關(guān)聯(lián)的出入口OD的形心單獨(dú)設(shè)置,和通常意義的交通小區(qū)形心不同,可以在“一張網(wǎng)”中同時(shí)方便地管理。一個(gè)精細(xì)的全市交通模型,有時(shí)候針對局部區(qū)域的分析,其他區(qū)域可以用大區(qū)或者中區(qū)的形心連線和形心點(diǎn)臨時(shí)代替,以減少不關(guān)心區(qū)域的分配計(jì)算量。當(dāng)然,局部的交通區(qū)域分析需要細(xì)化交通分區(qū),用戶也可以隨心所欲地切分交通小區(qū)并添加形心。
具體地說,自己編號的交通小區(qū)是101--105(ZONE_ID字段,可以通過交通小區(qū)圖層地理分析計(jì)算自動(dòng)得到,前面已經(jīng)講述),對應(yīng)的形心在路網(wǎng)上的節(jié)點(diǎn)編號是90001-90005(ID字段)。
矩陣索引的另外一個(gè)作用是,使用不同對應(yīng)的編號、字符等顯示矩陣,例如可以是地鐵站名稱顯示票價(jià)矩陣,也可以索引為站點(diǎn)編號,或者其他的定義編號,這和矩陣標(biāo)簽功能類似。
以上矩陣索引相關(guān)內(nèi)容,在TransModeler中同理。
為了便于用戶操作,這里再對創(chuàng)建矩陣索引的界面設(shè)置做點(diǎn)說明。
(1)TransCAD的一個(gè)矩陣文件里面可以有很多個(gè)矩陣,但他們的有一些相同的基本信息,例如矩陣索引。因此建立矩陣索引是針對一個(gè)矩陣文件的所有矩陣的。
(2)矩陣索引有時(shí)候需要將矩陣編號從交通小區(qū)編碼(TAZ或ZONE_ID)轉(zhuǎn)為節(jié)點(diǎn)編碼(ID),有時(shí)候也需要將矩陣編號反過來從節(jié)點(diǎn)編碼(ID)轉(zhuǎn)到交通小區(qū)編碼(TAZ或ZONE_ID)。前者主要是指按照交通分區(qū)計(jì)算得到矩陣,需要在網(wǎng)絡(luò)中轉(zhuǎn)為節(jié)點(diǎn)ID編碼進(jìn)行交通分配,公交分配等。
后者主要是指網(wǎng)絡(luò)中得到的成本Skim矩陣,如OD對的時(shí)間,距離等矩陣,需要轉(zhuǎn)換為交通小區(qū)編碼進(jìn)行方式劃分計(jì)算等。
TIP1:通常情況。一般來說,矩陣索引的數(shù)據(jù)表可以采用網(wǎng)絡(luò)的節(jié)點(diǎn)圖層(Nodes、Endpoits等),節(jié)點(diǎn)的數(shù)量往往多余矩陣的維度,因此節(jié)點(diǎn)圖層會(huì)有一個(gè)選擇集(例如形心集合Centroids),選擇相應(yīng)數(shù)量的節(jié)點(diǎn)和矩陣維度對應(yīng)。
TIP2:從交通小區(qū)編碼(TAZ或ZONE_ID)轉(zhuǎn)為節(jié)點(diǎn)編碼(ID)。索引取名為TAZ2ID。矩陣現(xiàn)有基本索引中的Field要選擇交通小區(qū)編碼,本例中對話框上部的Field選為TAZ。索引后的編碼,要選路網(wǎng)節(jié)點(diǎn)圖層的編碼,本例中對話框下部的Field選為ID。新的索引中,集合Selection選擇節(jié)點(diǎn)圖層中預(yù)先設(shè)置的形心集合Centroids。
TIP3:從節(jié)點(diǎn)編碼(ID)轉(zhuǎn)到交通小區(qū)編碼(TAZ或ZONE_ID)。索引取名為ID2TAZ。矩陣現(xiàn)有基本索引中的Field要選擇節(jié)點(diǎn)編碼,本例中對話框上部(現(xiàn)有矩陣索引的編碼)的Field選為ID。索引后的編碼,要選交通小區(qū)的編碼,本例中對話框下部(新矩陣索引的編碼)的Field選為TAZ。新的索引中,集合Selection仍然選擇節(jié)點(diǎn)圖層中預(yù)先設(shè)置的形心集合Centroids。
TIP4:索引后的矩陣維度變小。一般情況下,節(jié)點(diǎn)圖層選擇集(例如形心集合Centroids)要素的數(shù)量和矩陣維度對應(yīng)。特殊情況下,也可以只選擇一部分矩陣要素在索引轉(zhuǎn)換后顯示。例如,全市交通模型中有市內(nèi)的交通小區(qū)形心點(diǎn)2000個(gè),對外交通道口特殊形心50個(gè)。
如果矩陣是2050*2050,但索引得到的只要2000*2000的矩陣。譬如方式選擇時(shí),希望道路網(wǎng)絡(luò)2050*2050Skim矩陣轉(zhuǎn)為市內(nèi)交通小區(qū)編碼,即TIP3的情況(這里只是打個(gè)比方,當(dāng)然Skim矩陣的時(shí)候可以只選2000個(gè)市內(nèi)小區(qū))。這時(shí),對話框下部Selection集合中只選擇了2000個(gè)市內(nèi)交通小區(qū)形心,索引后得到的矩陣就會(huì)變成2000*2000。
TIP5:索引后的矩陣維度變大。有些情況下,用戶對話框上部選擇的編碼字段的所有值,沒有被矩陣現(xiàn)有索引的編號全部包含。簡單點(diǎn)說,就是節(jié)點(diǎn)圖層的形心數(shù)量大于矩陣維度,或者說有些要索引的原始ID,在矩陣中是沒有的。
例如全市矩陣是基于全市網(wǎng)絡(luò)節(jié)點(diǎn)ID編號得到的OD,現(xiàn)在有一個(gè)子區(qū)域的矩陣,矩陣編號值僅僅包含全市網(wǎng)絡(luò)的一部分ID,想更新一下這部分?jǐn)?shù)據(jù),但不想單獨(dú)再選擇一次子區(qū)域矩陣的形心(或者把小矩陣索引為和大矩陣一致便于操作),就要先把子區(qū)域矩陣索引修改一致后進(jìn)行更新,用戶實(shí)際上也只是需要使用矩陣的一部分。
這時(shí),對話框上部需要勾選“Allow IDs not in Matrix”,否則會(huì)提示出錯(cuò)。彈出界面提示用戶:
這些算是高級應(yīng)用了,初學(xué)者即使沒碰到這種應(yīng)用情況,也會(huì)接收到類似的界面錯(cuò)誤彈出,感到力不從心。主要原因還是沒搞清對話框上部是矩陣當(dāng)前索引的情況設(shè)置,下部是矩陣新的索引情況設(shè)置,并需要在節(jié)點(diǎn)集合中選擇合適數(shù)量的要素。常見的錯(cuò)誤就是TIP2和TIP3的界面設(shè)置搞反了,或者形心集合沒選對。
TIP6:行列數(shù)不同的矩陣索引。TransCAD的矩陣不一定需要N*N的方陣,可以是M*N,例如停車換乘(P+R)矩陣。這時(shí)矩陣的行和列要分別建立索引,即用戶界面的User for分別選擇Rows和Columns,二不是選Both。
來源:TransCAD和TransModeler交通軟件
編輯:jq
-
CAD
+關(guān)注
關(guān)注
17文章
1079瀏覽量
72353
原文標(biāo)題:深入理解TransCAD矩陣索引轉(zhuǎn)換和操作
文章出處:【微信號:simulink123,微信公眾號:MatlabSimulixnk】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論