posts - 77, comments - 54, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

运用XY空间和PointRef方案

Posted on 2006-08-18 12:22 东人EP 阅读(465) 评论(0)  编辑 收藏 引用 所属分类: MapInfo
XY空间方案
XY空间方案由表使用,根据每个记录的X和Y数据值构造Point几何体。XY空间方案可以应用到除Seamless、Views和ResultSet之外任意数据源的表
 1    class XYGeometry
 2    {
 3        public MapInfo.Data.Table CreateTable()
 4        {
 5            TableInfoServer ti = new TableInfoServer("Customers"
 6                "DRIVER={SQL Server};SERVER=localhost;DATABASE=Northwind;UID=sa;PWD=;Trusted_Connection=No;"
 7                "select * from customers", ServerToolkit.Odbc);
 8            SpatialSchemaXY xy = new SpatialSchemaXY();
 9            xy.CoordSysString = "CoordSys Earth Projection 1, 0";
10            xy.XColumn = "CustLoc_X";
11            xy.YColumn = "CustLoc_Y";
12            ti.SpatialSchema = xy;
13            MapInfo.Data.Table customers = MapInfo.Engine.Session.Current.Catalog.OpenTable(ti);
14            return customers;
15        }

16    }
PointRef空间方案
该方案使用表数据中的查找值,通过将查找值匹配到可制图的表来创建Point几何体对象。
 1class PointRefGeometry
 2    {
 3        public MapInfo.Data.Table CreateTable()
 4        {
 5            TableInfo ti = TableInfo.CreateFromFile(@"C:\data\customers.tab");
 6            SpatialSchemaPointRef pr = new SpatialSchemaPointRef();
 7            pr.StyleType = StyleType.None;
 8            pr.RefTable = "us_zips";
 9            pr.RefColumn = "zipcode";
10            pr.MatchColumn = "zip";
11            pr.RefTableLocation = @"C:\data\us_zips.tab";
12            ti.SpatialSchema = pr;
13            Table table = MapInfo.Engine.Session.Current.Catalog.OpenTable(ti);
14            return table;
15        }

16    }
只有注册用户登录后才能发表评论。