
MapInfo.Data.ResultSetCombineMode.Replace);
8 设置坐标系
缺省情况下,MapXtreme使用的CoordSys是经纬度投影(LongLat)和WGS84基准面。mapxtrememapxtreme我想修改投影类型为
CoordSysType.TransverseMercator ,基准面为DatumID.Pulkovo1942
MapInfo.Geometry.CoordSysFactory
coordSysFactory=MapInfo.Engine.Session.Current.CoordSysFactory;
mapControl1.Map.SetDisplayCoordSys(coordSysFactory.CreateCoordSys("mapinfo:coordsys
8,1001,7,117,0,1,20500000,0"));
coordSysFactory.CreateCoordSys("mapinfo:coordsys 8,1001,7,117,0,1,20500000,0") 默认的原点
是(B=0,L=117),如果要把原点设在(23,117)应该怎么写这个字符串呢?
coordSysFactory.CreateCoordSys("mapinfo:coordsys 8,1001,7,114,23,1,20500000,25000000")
9 保存新画的层为tab文件
下面的源码是新建一个永久表,然后在表中添加feature,然后保存为硬盘上的tab文件。
private MapInfo.Data.Table CreateNewMapDataTable(string tableName)
{
//以下代码是建立永久表
MapInfo.Data.TableInfoNative
tableInfoNative=newMapInfo.Data.TableInfoNative(tableName);
tableInfoNative.TablePath=@"D:/DATA/"+tableName+".TAB";
tableInfoNative.Columns.Add(MapInfo.Data.ColumnFactory.CreateIntColumn("ID"));
tableInfoNative.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn());
MapInfo.Geometry.CoordSys coordSys =mapControl1.Map.GetDisplayCoordSys();
tableInfoNative.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(coordSys)
);
MapInfo.Data.Table table
=MapInfo.Engine.Session.Current.Catalog.CreateTable(tableInfoNative);
//以下代码是建立临时表
// MapInfo.Data.TableInfo tableInfo
=MapInfo.Data.TableInfoFactory.CreateTemp(tableName);
// tableInfo.Columns.Add(MapInfo.Data.ColumnFactory.CreateIntColumn("ID"));
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-28065-4.html
Luna真的变美好多