在看代碼之前,先來了解下簡單的代碼知識:
1.mapfactory[索引或地圖别名]
簡單了解為存放地圖的容器,要地圖就來這裡取
相關代碼:mapinfo.mapping.map mymap = mapinfo.engine.session.current.mapfactory[索引或地圖别名];
2.map:地圖
裡面有很多東西,比如坐标體系,很多張圖層(layers),還多個圖元(legends);
相關代碼:取圖層,mymap.layers[圖層名];取圖元,mymap.legends[圖元名]
3.featurelayer
圖層,layer的一種,和ps圖檔一樣,一個圖層裡可以放很多個點,對應一張資料表
相關代碼:featurelayer fealayer=(mapinfo.mapping.featurelayer)mymap.layers[圖層名];
4.tableinfo

表資訊,包括表名,和列的添加都在這裡,可以通過資訊,建立一個table,隻是有兩個列,是必備的
一個是geometry列:存放的圖型類别,如:是點,還是線,還是其它,(坐标在建立點或線的時候就有寫在裡面了)
一個是style列,存放的是圖形類别的樣式,如:點的顔色,點的形狀。線的寬度之類的
其它的列,就自己根據需要了建立了

5.table

資料表,對應一個圖層。可以放很多行,和常見的表一樣,
相關代碼:
建立表:table table= mapinfo.engine.session.current.catalog.createtable(tableinfo);
擷取表:table table= mapinfo.engine.session.current.catalog.gettable(表名);
也可通過圖層來取,如果已先關聯的話了:
featurelayer fealayer=(mapinfo.mapping.featurelayer)mymap.layers[圖層名];
table table=fealayer.table;

6.catalog
簡單說就是類似一個dataset的東西,裡面可以放很多的表
相關代碼:mapinfo.data.table tb= mapinfo.engine.session.current.catalog.gettable(表名);
7.feature

可以放進圖層裡的東西,簡單的說是應資料的行,行是列組成的,是以執行個體化是需要傳進表格的列
相關代碼:mapinfo.data.feature point = new mapinfo.data.feature(table.tableinfo.columns);
把feature放進layer裡:table.insertfeature(point ) ;

--------------------------------------------------------
相關的聯想如下:
featurelayer和feature
featurelayer是一個層,而feature隻是層上面的一個點(一點就一行資料),或一條線之類的
行是由列組成的,是以建立行時,構造函數要傳入列集合:
mapinfo.data.feature ptpoint = new mapinfo.data.feature(table.tableinfo.columns);
資料層面
有一個feature行,行就隻能放入表table,表又放catalog裡
是以行添加就table.insertfeature(行);
地圖層面

有一個featurelayer圖層,點要放入圖層集layers裡,圖層要放入map裡,map又放入mapfactory裡
圖層關聯table,table 有很多行資料.是以就有可能有很多點(一行資料一個點),可能有很多線(一行資料一條線)
把圖層放入圖層集裡就是layers.add(圖層);
把圖層集屬于地圖,是以才有map.layers.add(圖層);

版權聲明:本文原創發表于部落格園,作者為路過秋天,原文連結:http://www.cnblogs.com/cyq1162/archive/2009/11/02/1594425.html