随笔分类 - GIS
地理信息系统
摘要:这个网页可以。 http://files.cnblogs.com/files/jetz/getborder.rar
阅读全文
摘要:查询图元,然后移动。 ftrs.Item(1).Point.Set x, yftrs.Item(1).Update 始终不成功,也不报错,跟踪ftrs.Item(1)的值也都正常。 反复试验后,发现 Set ftr = ftrs.Item(1)ftr.Point.Set x, yftr.Update 正常。 看来,是集合元素访问出了问题!
阅读全文
摘要:出错信息为: 检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起。 解决办法: 在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock" 说明: .NET2.0中增加了42种非常强大的调试助手(MDA),L...
阅读全文
摘要:Map1.DataSets(modLayers.CurrentLayer).RowValues(ftr).Item("x").Value
阅读全文
摘要:Mapx5支持的xml dataset,使得本地的mapx应用可以访问远程的数据,非常有用。但是,xml dataset在发布时却很麻烦。网上几乎没有资料,自己摸索着一点一点搞定,大致有这几个要点: 微软的msxml.msi必须要,这个最好用mapx安装包中带的 我用setupfactory,在安装这个msi的时候,着实费了大劲了,最后执行命令:%SysDir%\msi...
阅读全文
摘要:Mapx4.*中,并不支持xml,到5以后,创建ds支持xml了,听起来很美,但是,在网上居然没有找到一个说这个的,难道mapx就没人用了吗? 只好就着mapx的帮助,慢慢实验,比较麻烦的是xml的格式。例子中倒是有 Sample A Sample B 结果,报错,另外我的想法是要在xml中放xy的...
阅读全文
摘要:Dim lyr As Layer Private Sub Command1_Click() Dim ds As MapXLib.Dataset Set ds = Map1.DataSets.Item(1) lyr.LabelProperties.Overlap = True lyr.LabelProperties.Position = miPositionBC lyr.Lab...
阅读全文
摘要:以前没有太关注这个问题,曾经做过一个标点的程序,标的很慢,因为速度方面要求不高没有深入研究。最近希望能够在本地有个尽量快的响应,结果发现Mapx在进行处理的时候很慢。于是,在语句间插入跟踪的代码,精确到毫秒级的比较,结果发现问题出在mapx的处理上。 feature的update想都不用想,肯定是慢的。但屏蔽掉update后依然慢,结果发现,即使在用layer.se...
阅读全文
摘要:本来想着用LayerInfo来实现,但是发现不行,能查询的,只能是从数据库中。
阅读全文
摘要:把绘图功能嵌入到用户应用中的最简单、最经济的方法。 MAPINFO MAPX 是强大的ACTIVEX 组件 – 使用标准可视化程序工具可以很容易就整合到商业应用中。MapInfo MapX的目的是能够把基于位置信息的数据以高清晰可视化的效果显示出来并进行分析,帮助用户制定更好的决策,使管理及运作更为有效。 添加地图到应用中 MapInfo MapX v5.0 是功能强大的ActiveX 组件式开发...
阅读全文
摘要:Layer Packing: Packing the data contained in a layer will remove deleted records and will rebuild the index and graphics files. To implement this feature, two methods have been added to the Layer obje...
阅读全文
摘要:找论文 从头开始的绘制方法,插值,三角法…… sufer和mapinfo结合,需要转换 vertical mapper,插件,很大,mapx的话,需要sdk,几乎下载不到 找等值线控件。
阅读全文
摘要:我需要对Mapx控件支持鼠标滚轮,找了一个可以使用的代码,来自 http://blog.csdn.net/areful/archive/2007/10/19/1832010.aspx 需要注意的是,在FormLoad中增加Hook Map1.hWnd,在Form_Unload中增加UnHook Map1.hWnd 另外,在鼠标移动经过...
阅读全文
摘要:MapX的标注,修改标注功能尽管都有,但都十分的难用,操作起来,用户体验非常糟糕。不光编程难以控制,操作起来也不方便:工具选择要不断的切换,移动图元十分不敏感。所以希望实现一种比较友好的交互。 设想是这样的:默认状态,都是Pan工具,可以自由的移动地图,缩放功能放到缩略图这里就不考虑了。有一个标注开关,打开后,当在空白区域时,为标注功能。当在已存在图元上时,为移动功...
阅读全文
摘要:要在程序中加入标注功能,首先就想到用自带的AddPoint工具,但实在太难用了:两个事件中,Addfeaturetoolused工具中的feature是合入图层前的,toolused又没有feature的引用。要想修改一下加入图标的属性,非常困难。 所以,准备自己写。就用Pan工具就可以了,只要判断鼠标事件,合理的时候,调用现有的加点处理就很好用。
阅读全文
摘要:前几天研究了一下,感觉都快忘了。虽然去啃帮助仍然可以把这些东西啃出来,但有点烦。把记忆的东西零星整理一下: Mapx4不支持具体到图元的样式的指定,只能够指定到图层的样式 而在MapInfo中,是可以为每个图元指定样式的 在Mapx5中,支持对个别图元的样式的指定,所以如果有这个需要,就需要考虑用mapx5 不管是图元样式还是图层样式,都是一个st...
阅读全文
摘要:当鼠标移动到图元上方时,标注改变样式(变色,加下划线等),移开后还原。通过vb+mapx基本实现这个效果,但由于mapx在label进行变化时的刷新很明显,达不到希望的效果。把代码留下。 Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Sta...
阅读全文
摘要:以前增加图元,总是用复制图元的方式,受的限制较大。今天试着用创建的方式来增加,效果还行,需要注意: 用datasets太麻烦 用keyfield必须是对map1下的layer的,即对已经加入的ftr的。 默认情况下,keyvalue是对第一列的。 写了一半的代码: '添加图元 Public Function AddFeature(keyword...
阅读全文
摘要:Private Sub Command5_Click() '创建专题图层 Dim oDs As MapXLib.Dataset Dim oLayer As MapXLib.Layer Dim oTheme As MapXLib.Theme Dim oFields As New MapXLib.Fields Dim oField As MapXL...
阅读全文
摘要:Mapx中查找图元,用Layer.search来完成; Layer.search支持用比较表达式来进行查询;但是,往往会报告变量不存在。原因在于它需要dataset的支持。但是Layer.Datasets.count和Map.DataSets.count都是0。即需要增加图层。代码 Set ds = main.Map1.Datasets.Add(miDataSetLayer, ...
阅读全文