ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:49.70KB ,
资源ID:30700379      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30700379.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(mapx学习笔记资料手册.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

mapx学习笔记资料手册.docx

1、mapx学习笔记资料手册MAPX学习使用笔记 资料Mapxtreme 下面应该有三种图层 一种是固定图层 当你新建一个固定图层的时候会生成*.tab等文件 一种是临时图层 不生成*.tab文件 一种是用户绘制图层 用户自己使用CDC(Graphics) 进行绘图 如果你想对多边形进行编辑 至少你要响应Mapxtreme的鼠标事件 通过鼠标事件来确定当前用户在进行何种操作。 一般的过程是这样的: 1.新建一个图层(建议临时图层或者用户绘制图层) 2.根据多边形的点的位置绘制图元或者用CDC绘制过变形 同时确定各个点在Mapxtreme地图窗口的位置 建立各个点的鼠标响应区域 3.通过鼠标落下的时

2、候通过各个点的响应区域判断那个点被选中 鼠标移动 和抬起时要做响应的处理 来改变多边形选中点的位置 重重新给多边形的点赋值 如果使用临时图层 需要对临时图层里面的多边形图元的点参数进行更改 如果是CDC绘图的话只要更改CDC绘图即可 整个过程中需要考虑到地图坐标与Mapxtreme窗口坐标之间的转化。通过对象编辑工具,用户可以在地图图层中创建和修改图元。有四种标准的对象创建工具:“添加点”、“添加线条”、“添加折线”和“添加区域”。注:若要设置所使用的工具,请设置 Map.CurrentTool 属性。对象编辑工具将新图元添加到在 Layers.InsertionLayer 属性中指定的任何图

3、层中。只能有一个插入图层,并且默认情况下是没有插入图层。在没有任何插入图层时将当前工具设置为对象创建工具将导致错误。MapX 还支持对现有地图图元的修改。若要编辑图元,则对于您要更改的任何图层,必须将Layer.Editable 属性设置为真。然后,可以使用内置的“箭头”工具,在当前选择中移动图元或调整图元的大小。若要移动选定图元,只需单击并在选代码名称:向已存在的图层中添加数据作者/收集者:xyz2004 开发环境:MapX + Delphi代码:procedureTForm1.Button2Click(Sender:TObject);varlyrnew:CMapxLayer;ds:CMap

4、xDataset;rvs:CMapxRowvalues;rv:CMapxRowvalue;ptNew:CMapXpoint;ftrNew:CmapXFeature;beginlyrNew:=Map1.Layers.item(1);ds:=Map1.Datasets.Add(miDataSetLayer,lyrNew,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);/rvs:=ds.Rowvalues1.Clone;rv:=CoRowvalue.Create;rvs:=CoRowvalues.Create;rv

5、.Dataset:=ds;rv.Field:=ds.Fields.Item(1);/假设mi表有两个字段,填充之rv.value:=item1;rvs.Add(rv);rv.Field:=ds.Fields.Item(2);rv.value:=item2;rvs.Add(rv);ptNew:=CoPoint.Create;ptNew.Set_(map1.centerx,map1.centery);ftrNew:=map1.FeatureFactory.CreateSymbol(ptNew,emptyparam);ftrNew:=lyrNew.AddFeature(ftrNew,rvs);/图元

6、+属性,即feature+Rowvalues/ftrNew=lyrNew.AddFeature(ftrNew);/ftrNew.Update(True,rvs);end.代码名称:在MapX中实现图元闪烁原码作者/收集者:zlx开发环境:Delphi + MapX代码:MapX图元分三种类型:1、线(Line),即miFeatureTypeLine2、区域(Region),即miFeatureTypeRegion3、点符号(Symbol),即miFeatureTypeSymbol加入一个时钟控件,并在时钟控件中实现以下代码:procedureTMapFrm.tmFlashSelectTimer

7、(Sender:TObject);varft:CMapXFindFeature;lyr:CMapXLayer;bExist:Boolean;i:Integer;str:String;ds:CMapXDataset;beginbExist:=False;fori:=1tomapCity.Layers.CountdobeginifmapCity.Layers.Itemi.Name=m_strSelLyrthenbeginbExist:=True;break;end;end;ifnotbExistthenbegintmFlashSelect.Enabled:=False;MsgFrm:=TMsgFr

8、m.Create(Self);MsgFrm.m_strMsg:=Format(图层%s信息不存在!,m_strSelLyr);MsgFrm.ShowModal;MsgFrm.Free;Exit;end;lyr:=mapCity.Layers._Item(m_strSelLyr);ds:=mapCity.Datasets.Add(miDataSetLayer,lyr,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);lyr.Find.FindDataset:=ds;lyr.Find.FindField:=ds.F

9、ields.Item1;str:=Format(%d,m_nSelID);ft:=lyr.Find.Search(str,EmptyParam);ifft.FindRCmod101thenbegintmFlashSelect.Enabled:=False;MsgFrm:=TMsgFrm.Create(Self);MsgFrm.m_strMsg:=Format(单位点%s信息不存在!,m_strCorpName);MsgFrm.ShowModal;MsgFrm.Free;Exit;end;caseft.type_ofmiFeatureTypeLine:beginifft.Style.LineCo

10、lor=miColorWhitethenft.Style.LineColor:=miColorRedelseft.Style.LineColor:=miColorWhite;end;miFeatureTypeRegion:beginifft.Style.RegionColor=miColorGreenthenft.Style.RegionColor:=miColorRedelseft.Style.RegionColor:=miColorGreen;end;miFeatureTypeSymbol:beginifnotm_bFlashSelthenlyr.Selection.Replace(ft)

11、elselyr.Selection.ClearSelection;m_bFlashSel:=notm_bFlashSel;end;end;ft.Update(EmptyParam,EmptyParam); ifnotm_bCenterthenbeginm_bCenter:=True;mapCity.CenterX:=ft.CenterX;mapCity.CenterY:=ft.CenterY;mapCity.Refresh;end;end;我这里是把选中的图元实现闪烁,并把图元居中实现图元闪烁的另一个方法:假设图元原大小是20,改变后大小是15ifft.Style.SymbolBitmapSi

12、ze20thenft.Style.SymbolBitmapSize:=15elseft.Style.SymbolBitmapSize:=20;ft.Update(EmptyParam,EmptyParam);ft是symbol类型的代码名称:画多边形、直线1,画多边形,画线procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint; Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool; var EnableDefault: WordBool

13、); var Style: CMapXStyle; f: CMapXFeature; begin case Flags of miPolyToolBegin: ; 某些用户开始使用 PolyTool. miPolyToolEnd: 用户通过双击完成 PolyTool 的使用 if ToolNum = MY_POLYGON_TOOL then begin 它们使用 MY_POLYGON_TOOL!制作新的区域图元 并将其添加到第一个图层 Style := Map1.DefaultStyle.Clone; Style.RegionPattern := miPatternSolid; Style.R

14、egionColor := 255; Style.RegionBorderColor := 0; Style.RegionBorderWidth := 2; Style.RegionBorderStyle := 1; 使用由事件为我提供的点。 MapX 自动关闭打开的多边形,因此我无 需担心! f := Map1.FeatureFactory.CreateRegion(Points, Style); Map1.Layers.Item(Temp Layer).AddFeature(f, EmptyParam); end else if ToolNum = MY_POLYLINE_TOOL the

15、n begin 它们使用 MY_ POLYLINE_TOOL!制作新的线图元 并将其添加到第一个图层 Style := Map1.DefaultStyle.Clone; Style.LineStyle := 1; Style.LineColor := 255; Style.LineWidth := 2; 使用由事件为我提供的点 f := Map1.FeatureFactory.CreateLine(Points, Style); Map1.Layers.Item(Temp Layer).AddFeature(f, EmptyParam); end; miPolyToolEndEscaped:

16、; 用户按下了 Esc 或退格键 删除所有节点. 不要再添加任何东西。 end; end; /2.画折线和多边形(并没有考虑属性数据的录入)procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint; Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool; var EnableDefault: WordBool); var Style: CMapXStyle; f: CMapXFeature; begin case Flags of miPo

17、lyToolBegin: ; 某些用户开始使用 PolyTool. miPolyToolEnd: 用户通过双击完成 PolyTool 的使用 if ToolNum = MY_POLYGON_TOOL then begin 它们使用 MY_POLYGON_TOOL!制作新的区域图元 并将其添加到第一个图层 Style := Map1.DefaultStyle.Clone; Style.RegionPattern := miPatternSolid; Style.RegionColor := 255; Style.RegionBorderColor := 0; Style.RegionBorder

18、Width := 2; Style.RegionBorderStyle := 1; 使用由事件为我提供的点。 MapX 自动关闭打开的多边形,因此我无 需担心! f := Map1.FeatureFactory.CreateRegion(Points, Style); Map1.Layers.Item(Temp Layer).AddFeature(f, EmptyParam); end else if ToolNum = MY_POLYLINE_TOOL then begin 它们使用 MY_ POLYLINE_TOOL!制作新的线图元 并将其添加到第一个图层 Style := Map1.De

19、faultStyle.Clone; Style.LineStyle := 1; Style.LineColor := 255; Style.LineWidth := 2; 使用由事件为我提供的点 f := Map1.FeatureFactory.CreateLine(Points, Style); Map1.Layers.Item(Temp Layer).AddFeature(f, EmptyParam); end; miPolyToolEndEscaped: ; 用户按下了 Esc 或退格键 删除所有节点. 不要再添加任何东西。 end; end;用DELPHI开发”MapInfo MapX

20、“ 分类:学习笔记2007.11.13 15:41 作者:xboshi82 | 评论:0 | 阅读:2618 MapInfo MapX是一个用来做地图化工作的OCX控件, 首先是简介 是以后才有的 MapX是一个OCX组件,可以被快速集成到使用Visual Basic、PowerBuilder、Delphi、Visual C+或其他面向对象的语言的客户端应用程序以及使用Lotus Script的Lotus Notes (v4.5)中。开发人员可以在他们熟悉的环境中工作,最终用户可以通过他们熟悉的应用程序来访问地图数据。 MapX 的功能 MapX不仅仅是一个“地图浏览器”。通过MapX,可以分

21、析并直观地显示业务数据,创建或编辑地图图元,并按地理位置显示数据结果。 、专题制图 - 使用专题制图显现数据。联合数据和地图中的每个图元,并在地图中用颜色编码(或其他样式)来表示数据。可使用六种不同的样式来观察数据(色彩范围、点密度、独立值、等级符号、饼图、直方图)。 、逐层细化制图 - 可以通过简单的定点和单击来浏览数据,在OLAP S环境下,可以允许用户通过定点和单击逐层细化地图的某个区域。 、数据绑定 - 地图可合并来自嵌套OCX的容器、ODBC或DAO数据源(例如MSAccess)的数据。MapX提供多种不同类型数据的绑定,包括邮政编码级别的地理编码。 、注释 - 可以提供定位、高亮显

22、示特定数据的功能,通过添加文本、符号和标注来使您的地图信息变得更加丰富。、图层化 - 显示和控制地图图层的显示,让它只在地图的缩放比例符合事先调整的距离时才显示。还可以使用或创建无缝地图图层,它可以把一组基表看作一个整体。特殊图层类型可以支持特殊类型的应用,如动态图层(用于实时跟踪)和用户描绘图层(用于描绘特殊的地图元素,如地图上方的标志)。 、栅格图像 - 用一幅放在底层的栅格图像作为地图背景,使您的地图更生动、更详细。目前,主要是配合卫星行片,使地图更加逼真 、自动标注 - 自动向地图添加标注,同时控制其属性及显示。、选择 - 通过分组和组织数据,发挥MapX的分析特性。即在一个指定的半径

23、、矩形区域或指定点的范围内选择地图图元。图元工厂 - FeatureFactory对象使您得以创建、合并和缓冲区或擦除点、线和区域图元。工具 - 用户可以通过单击和拖动直接与地图交互。通过MapX内置的导航、选择和标注工具或自定义工具来对地图进行操作。地图编辑 - 可以让用户在地图上添加、修改或删除图元。投影和坐标系 - MapX对地图坐标系和投影的完全支持使您可以更精确地调整地图的显示并在自己的坐标系中处理X-Y数据。、远程空间服务器连接 - 可以连接运行在Oracle8.0.5、Informix或其他所支持的数据库上的Oracle8i Spatial和MapInfo SpatialWare

24、上存储的真实数据。为集中管理和安全起见,空间服务器允许公司在企业数据库中主持他们的地图数据。象SpatialWare和Oracle8i Spatial之类的空间服务器还提供高级查询处理功能,并增加了用于处理组织机构的空间数据的服务器性能。在一个RDBMS中存储空间数据对于需要进行大量地图编辑和处理大型数据集的应用程序也是必要的。但需要说明的是,公司有专门用于的 安装 MapX 因为MapX是32位OCX,所以它需要一个32位版本的Windows (Windows 95/98或Windows NT 4.0)。MapX应用程序不能在Windows 3.1 中运行。下面讲组织数据和地图 要使用 Ma

25、pX,需要有您的记录和MapInfo地图文件。MapX 以 MapInfo 表的形式组织所有潜在信息。每个表都是一组用来在地图中创建图层的 MapInfo 文件。文件如何组成表?所有的 MapInfo 表都会拥有下列文件:.tab:描述 MapInfo 表的结构。它是描述包含数据的文件的格式的小文本文件。.dat:(.mdb、.aid 或 .dbf):这些文件含有表格格式数据。.map:描述图形对象(如果表没有地图对象则不存在该文件)。.id:是链接对象和数据的交叉引用文件(如果表没有地图对象则不存在该文件)。.ind:索引文件。索引文件允许使用 Find 对象来查找地图对象。不熟悉,就讲一下

26、MapInfo 表和 MapX 图层每个可用地图表示的 MapInfo 表都能在地图上作为图层显示。例如,您可以显示客户表、街道表以及县边界表。图层是透明的,而每一层都包含了地图的不同部分。这些图层是一层层叠加,这样您就可以看到整个地图信息。 什么是 GeoSets?Geoset 保存了地图图层的集合以及一些对您来说简单易用的设置。其名称的由来是因为 Geosets 是由一些表示同一地理区域的以标准 MapInfo 格式出现的地图文件(.tab)组成的数据集。当您希望将多个图层作为示例地图使用时,会发现单独打开和显示多个图层是件多么费时的工作,Geoset 使您避免这样的情况。Geoset 的

27、扩展名是 .gst。.gst 文件是文本文件,它包含若干用来告诉 MapX 显示什么表以及如何显示的元数据键值。当打开 Geoset 时,它自动打开所有包括在 Geoset 中的文件并默认显示。开发者可以更改“默认显示”来迎合自己的需要。Geoset 设置包括投影、默认缩放值,对象的自动标注,缩放范围以及打开的表是否可见。MapX 也可以打开开发者指定的任意单个(.tab)地图文件。使用 Geoset 非常方便,无需 MapX 就能运行。MapX 将不会打开 MapInfo 工作空间(.wor 文件类型)。但在地图的组织上相当于MapInfo 工作空间第三个概念:地图图元以上是入门 下面讲的也

28、是基础性的 Map 对象 下列图表是 MapX 对象体系的局部,您可以看到 Map 对象存在于最顶端。每个 MapX 的对象、属性和方法都衍生于 Map 对象。每个在 Map 对象之下的属性和方法都会对生成整个 Map 对象有所影响。主要是由 DataSets、Layers 和 Annotations 对象定义每一个 Map 对象。 下表显示了一些由数值表示的 Map 对象属性。可以在“设计时”改变这些属性,也可以在“运行时”使用以下代码示例来更改。属性描述代码示例Zoom设置在地图中显示的英里(默认的距离单位)数。Map1.Zoom = 500Rotation对地图旋转指定的度数Map1.R

29、otation = 179CenterX设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterX = -79.4458CenterY设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterY = 44.9932显示不正常 Zoom设置在地图中显示的英里(默认的距离单位)数。Map1.Zoom = 500Rotation对地图旋转指定的度数Map1.Rotation = 179CenterX设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterX = -79.4458CenterY设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterY = 44.9932用 Map 对象,可以通过操纵地图的几个方法和属性来控制地图如何来显示。有一些属性是由其他对象来表示的。例如,当您看到 MapX 地图时,也就是看到单独图层的集合,它是由 Layers 集合来表示的。Layers 集合是 Map 对象的属性。现在让我们来看一看如何改变地图的属性。属性页允许我们操作 Map 对象的多个属性。 上面是属性页,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1