MapXtreme2004 从Oracle空间数据库中导出图片

(转自:http://www.cnblogs.com/perdu/archive/2006/01/07/312813.html) 1 连接到Oracle空间数据库 TableInfoServer ti=new TableInfoServer("ZKT"); ti.Toolkit = MapInfo.Data.ServerToolkit.Oci; ti.CacheSettings.CacheType = MapInfo.Data.CacheOption.All; ti.MbrSearch = false; ti.ConnectString = "SRVR=s1;UID=gis;PWD=gis;"; 2 打开空间表 ti.Query = "SELECT * FROM T1 WHERE id1 = '" + strBuilderID + "'"; Table t = conn.Catalog.OpenTable(ti); 3 建立内存表,加快操作 c = MapInfo.Engine.Session.Current.Catalog; TableInfoMemTable tiMem = new TableInfoMemTable("memZKT"); tiMem.CacheSettings.CacheType = MapInfo.Data.CacheOption.All; tiMem.Temporary = true; foreach(MapInfo.Data.Column c1 in t.TableInfo.Columns){ tiMem.Columns.Add(c1.Clone()); System.Diagnostics.Debug.Write(c1.Alias + "-" + c1.DataType.ToString()); } tableMem = c.CreateTable(tiMem); 4 利用MapXtreme2004的ADO.Net从空间表导入内存表 MIConnection conn ; MICommand miCommand; conn = new MIConnection(); conn.Open(); miCommand = conn.CreateCommand(); miCommand.CommandText = "Insert into memZKT select * from zkt"; miCommand.ExecuteNonQuery(); 5 更改图元样式 MapInfo.Styles.CompositeStyle myStyle = new MapInfo.Styles.CompositeStyle(); MapInfo.Styles.SimpleLineStyle regionBorder = new MapInfo.Styles.SimpleLineStyle(); regionBorder.Width = new MapInfo.Styles.LineWidth(1,MapInfo.Styles.LineWidthUnit.Pixel); regionBorder.Color = System.Drawing.Color.Black; MapInfo.Styles.SimpleInterior regionInterior = new MapInfo.Styles.SimpleInterior(); regionInterior.Pattern = (int)MapInfo.Styles.PatternStyle.None; regionInterior.Transparent = true; MapInfo.Styles.SimpleLineStyle lineStyle = new MapInfo.Styles.SimpleLineStyle(); lineStyle.Width = new MapInfo.Styles.LineWidth(1,MapInfo.Styles.LineWidthUnit.Pixel); lineStyle.Color = System.Drawing.Color.Black; myStyle.AreaStyle.Border = regionBorder; myStyle.AreaStyle.Interior = regionInterior; myStyle.LineStyle = lineStyle; System.Windows.Forms.Application.DoEvents(); miCommand.CommandText = "Update memZKT Set MI_STYLE=@style "; miCommand.Parameters.Add("@style",myStyle); miCommand.ExecuteNonQuery(); miCommand.Parameters.Clear(); 6 导出到文件 MapInfo.Mapping.MapExport exp = new MapInfo.Mapping.MapExport(_map); exp.Format = MapInfo.Mapping.ExportFormat.Jpeg; MapInfo.Geometry.DRect bounds = f.Geometry.Bounds; newBounds.x1 = bounds.x2 + (bounds.Width() / 2); newBounds.y1 = bounds.y2 + (bounds.Height() / 2); newBounds.x2 = bounds.x1 - (bounds.Width() / 2); newBounds.y2 = bounds.y1 - (bounds.Height() / 2); _map.Center = f.Geometry.Centroid; _map.Bounds = newBounds; exp.Export(strDir + f["id"].ToString() + ".jpg");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapXtreme BS是一种基于地理信息系统(GIS)的网络地图开发平台。它提供了一套强大的地图制作、显示和分析工具,可以帮助开发者快速构建互联网和移动设备上的地图应用程序。 MapXtreme BS具有以下主要功能和特点: 1. 地理数据管理:MapXtreme BS支持多种地理数据格式的导入和管理,包括矢量数据、栅格数据和数据库数据。用户可以对数据进行空间查询、空间分析和空间数据编辑。 2. 地图制作和显示:该平台提供了丰富的地图显示效果,可以自定义地图符号、标签和颜色。用户可以根据需要创建多个图层,控制图层的显示和叠加效果。 3. 空间分析和查询:MapXtreme BS支持多种空间查询和分析操作,如缓冲区分析、交集分析和路径规划。用户可以使用这些功能进行地理统计、资源分配和路线规划等操作。 4. 地图互动性:用户可以通过交互式工具与地图进行互动,如放大、缩小、平移和标注。此外,MapXtreme BS还提供了地图事件的处理机制,可以实现自定义的地图交互功能。 5. 地图应用程序开发:MapXtreme BS提供了丰富的API和开发工具,支持多种编程语言,如Java和.NET。开发者可以使用这些工具进行地图应用程序的开发、调试和部署。 总之,MapXtreme BS是一种功能强大的地图开发平台,为开发者提供了丰富的地理信息处理和展示功能,可广泛应用于物流、电子商务、城市规划、环境保护和公共安全等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值