摘要:
在GIS数据处理中,数据量大是一个非常伤脑筋的问题。最近,在写一个CAD注记转Shapefile文件时,又遇到这个问题。 曾经处理一次数据,达130万个点,即测试区域内的栅格转成点全部处理,程序是写好了,但速度之慢啊,关键问题是处理到一半报奇怪的错误,最后只好将数据分成6份,去实验室开了6台机子来... 阅读全文
摘要:
在ArcGIS属性表中,如果是Shape文件,其他字段名称长度不能超过10个字符(一个汉字算两个字条),如果是在数据库中的文件,其他字符名称长度就可超过10个字符。 在我的记忆中,中文字符应该算两个字符,实际在C#中,不管中文、英文、全角、半角,其他长度都是相同的。如: string s1 = "四川";
string s2 = "sc";
Console.WriteLine(s1.Len... 阅读全文
摘要:
外业轨迹线非常混乱,编辑工作量非常大。我们可以借助ArcGIS中高级编辑中的"打断相交线"来简化轨迹,提高效率,其容差值需要反复尝试,直到最佳。但结果并不时每个地方都特别理想,特别是道路比较宽的地方(道路上有多条轨迹),需要手动来进行编辑。这是整个项目手动编辑的结果。其中编辑过程中的技巧和问题总结如... 阅读全文
摘要:
ArcGIS属性表中右键可调用字段计算器。写一些简单代码可操作属性表,有VBS和Python两种。
现在要求是:如果"地块编码"为空,则将"地块编号"赋给"地块编码"。作为GIS专业毕业居然搞不定这个代码,主要是不熟悉VB的语法,一直报语法错误。最后在帮助文档中查到:AcGIS10以后不再使用ArcGIS9的VBA,而是VBScript,它 不允许显式声明任何数据类型,所有变量均属于隐式变量。形如... 阅读全文
摘要:
自2012年ESRI更新10.2以后,终于在2014年12月8日,官方推出了10.3版本,前几天忙于抢票,今天终于可以在虚拟机中体验一把。由于使用的是预览版,所有安装包只有800多M,包括桌面核心程序、Python和扩展工具。在Win7 64位机子上安装非常轻松,只是破解时,不仅要替换License... 阅读全文
摘要:
CAD批量处理工具是基于AutoCAD二次开发的批处理插件。将程序加载到CAD中,使用自定义的Lisp代码就可对多个文档进行批量操作。 1.文件说明 CAD批量处理工具批处理程序包含两个文件:一是基于VBA的程序,二是基于Lisp的程序。 2.安装运行 (1)将程序拷入CAD安装路径下的Suppor 阅读全文
摘要:
现需要用ArcGIS将多边形面层中是"空洞"的要素查找出来。 代码思路
一开始没有思路,于是写了代码,基本流程如下:
1)遍历需要判断的要素(可通过属性筛选);
2)检查某一要素相邻的所有要素;
3)反向检查某一要素相邻要素的相邻图斑:如果相邻图斑的个数唯一,且相邻图斑的FID与某一要素的FID相同,则某一要素的相邻要素在某一要素"内部",某一要素则为"空洞"要素。
注意:如果数据量过大,可只... 阅读全文
摘要:
同事在网上找各种软件来实现CAD图的批量打印,总是问题多多。于是,我想到一个更方便的解决方法,即只要我将一个打印出来,然后就可以用批量处理来实现。 1.在CAD中输入plot命令(或快捷键Ctrl+P),即可弹出打印设置对话框,现在里面需要改的有三项:打印机名称、打印范围(选择"窗口",再手动选择图框)、图形方向(纵向,默认是横向),如下图,只要我获取到这三个参数的设置,其他参数默认即可进行打印... 阅读全文
摘要:
经常,需要在CAD中插入块,比如图框,它的类型是INSERT,而不是Line和PolyLine。一般情况下,我们是不会去编辑它的,但有的时候需要选择它,比如在选择打印范围时,默认为过滤掉INSERT类型(其实这是不合理的,考虑不周全的),所以现在要将块转为实体。
直接使用CAD分解(EXPLODE)命令即可。它会把块直接分成四条线(Line)。
但这里有成百上千幅dwg图都要做这样的处理,那当然只... 阅读全文
摘要:
删除属性表中的字段一定要注意循环的方式。如果是for循环,i= 0; i--)
{
delField = pointFS.Fields.get_Field(i);
if (delField.Name != "FID" &&
delField.Name != "Shape" &&
delField.Name != "Layer" &&
... 阅读全文