地理编码和路径规划客户端
MapXtreme 2005 的地理编码和路径规划客户端具有新的强化功能,允许用户创建更强健的
文本。现在,地理编码客户端支持 MapInfo 世界地理编码程序,可以提供覆盖许多国家的
城市、邮政编码和街道级别数据。已添加附加地理编码约束和地址级别选项(如地址范
围),生成更加用户化、更加精确的候选地理编码。这些约束中包括新增的 CASS 认证,
通过该过程可将邮寄地址表标准化,以满足 U.S. Postal Service® (USPS) 对大批邮寄折扣的
要求。
现在,路径规划客户端包括计算驾驶时间和驾驶距离等值线的功能,还能够使用瞬态更新
重新计算路径,取消或更改道路类型、点或线段的优先权。现在已支持矩阵路径规划,通
过它可以查找任意数目起点和终点之间的最短或最快路径。此项功能通常用作分析工具,
根据在合理时间长度内救护车、公共安全或消防人员可救助财产/个人的概率确定保险财产
或个人的危险性。为支持运输系统类型路径规划,我们已添加了基于时间的路径规划,通
过它可以指定开始、停止和结束时间。现在,路径规划客户端包括大量参数选择,通过它
可以定制路径分析、驾驶指示和路径几何体。
打印支持
MapXtreme 2005 的新打印支持功能允许用户通过基于 MapXtreme 的应用程序、Workspace
管理器或打印 API 生成高质量的地图和图例打印输出。基于 Microsoft .NET 1.1 Framework
的 MapInfo.Printing 对象模型从 System.Drawing.PrintDocument 类继承。地图和图例可以直
接打印到设备或首先生成 Enhanced Metafile (EMF)。此外,可在“打印预览”中查看地图
和图例。可以通过 MapPrinting.PrinterSettings (LegendPrinting.PrinterSettings) 和
MapPrinting.PageSettings (LegendPrinting.PageSettings) 并使用 MapInfo.Printing 命名空间更
改打印机和页面设置。
当前没有内置的 GUI 支持。MapPrinting.Print、MapPrinting.PrintPreview 和
MapPrinting.PageSetup 使用默认的 .NET 打印对话框。更改为 MapPrintMethod 和
LegendPrintMethod,则 MapPrintSize、Map/Legend.DrawingAttribute 通过 MapPrintDocument
和 LegendPrintDocument API 完成。可控制的绘制属性包括抖动方法(半色调或误差扩
散)、缩放位图填充图案、24 位彩色光栅打印以及对具有孔、透明矢量和光栅图层的多边
形的特殊处理。注:MapXtreme 不支持半透明光栅图像的打印。
Workspace 管理器已更新为可利用新的打印 API。它使用默认设置,包括打印方法 (EMF)、打
印大小(适合于页面)和绘制属性(全部为 true)。
Shapefile 中的 M 和 Z 值
MapXtreme 2005 现在可读取包含 M 和 Z 值的 ESRI Shapefile。这些值不能使用。
ECW 光栅句柄
MapXtreme 2005 在使用 ECW 光栅句柄时支持多线程。句柄的文件名已更改。现在的名称为
ecw.rhy 且位于 C:\Program Files\Common Files\MapInfo\MapXtreme\6.5\RasterGridHandlers。
(先前文件名为 ecw.rhl。)光栅句柄的扩展名指示 MapXtreme 2005 使用该文件的顺序。
瞬态图元支持
现在对象模型中支持瞬态 FeatureGeometry 对象。MapInfo.Geometry.FeatureGeometry.IsTransient
可用于确定 FeatureGeometry 是否为瞬态的 Boolean 属性。
通过某些数据访问方法获得的 FeatureGeometry 对象可能为瞬态。它们是短时间存在于可能
回收的内存中的对象,用于后续的获取操作。使用瞬态 Geometry 对象可以提高性能。如果
需要超越对象的短暂生存期,则应该生成对象副本。
新Transient 图元功能的结果是更新 SearchResultProcessor 类使其支持此项功能。现在该基
类返回瞬态图元(您可为该基类自定义搜索结果的后处理程序)。不过,请注意返回的任
何瞬态图元只在当前图元上有效。一旦移至下一图元,则先前图元无效。
性能测试
MapXtreme 2005 已执行了大量测试,已确定在应用程序中使用池对象时的性能效果。此外
还包括了多层应用程序,这些应用程序访问远程服务并分配池对象以获得最高性能。
示例应用程序和代码示例
MapXtreme 2005 向产品中添加了更多的示例应用程序和代码片断,以帮助您了解并且最有
效地利用对象模型。找到所有示例的最佳方式是使用“程序”菜单下的“学习资源”浏览
器。在浏览器的“学习资源”部分单击“示例应用程序”链接。
在可导航的浏览器中会显示代码片断的“如何实现...”,用户可通过“学习资源”浏览器
的“文档”页面打开该功能。这些片断是基本构建块,用户可在其基础上构建桌面或 web
应用程序。
IN/ANY/ALL 运算符和子查询
下面是与数据访问相关的新的和增强的功能。
• 现在提供带有文字列表和子查询的 IN、ANY 和 ALL 运算符。例如:
Select ... From T Where X IN (2, 6, 12)Select ... From T Where X IN
(Select X From U Where B > 50)
• 现在提供相关联的子查询,其中子查询引用来自外部查询的列(或表达式)。例如:
Select ... From T Where X IN (Select X From U Where B = T.A)
• 空间 OR 列表已进行优化。例如:
{Select ... From T Where Obj Within @Var1 OR Obj Within @Var2 OR
Obj Within @Var3}
StyleFactory 类
MapInfo.Styles.StyleFactory 中包含了一个新的类,它允许用户将画笔、画刷和符号子句从
MapBasic 字符串转换到 CompositeStyle。
ISession.Reload 方法
ISession.Reload 是一种新方法,可以清除 Session 的状态并重新加载先前在应用程序配置文
件中配置的工作空间。ISession.Reload 替换 ISession.Reset。
要重置会话的状态而无需重新加载预装的 workspace,请使用 ISession.Clear 方法。
永久性
名为 CenterAndScale 的新枚举值已增加到 MapInfo.Persistence.AreaOfInterestPreference。该值更
倾向于表示应如何在工作空间中表示每个地图的重点区域。ScaleAndZoom 值已很少使用。
自定义位图符号 MSM
MapXtreme 2005 包括合并模块,使得可以更加容易地在部署项目中包括自定义符号。只需
在项目中包括 MapInfoCustSymb.msm 即可。这会将符号安装到 Program Files\Common
Files\MapInfo\MapXtreme\6.5\CustSymb 文件夹中。
许可证文件工具
MapXtreme 将许可证工具 MILicenseNodeID.exe 和该工具的库安装到 Program Files\Common
Files\MapInfo\MapXtreme\6.5\License Tool 文件夹中。当您需要永久使用许可证用于开发和
部署 MapXtreme 应用程序时,请运行此工具。将生成的节点 ID 文本文件提交给 MapInfo
Corporation 以申请许可证。
如果正部署 web 应用程序或正使用软件防复制版本的 MapXtreme 2005 开发和部署 web 或
桌面应用程序,则必须在项目中提供该工具。节点 ID 工具包括在合并模块
MapInfoMXTConfig_6.5.msm 中。“核心引擎”合并模块需要该 msm,因此许可证工具目
前将随您的应用程序一同部署。