(1)这个问题不是以前已经解决了吗?
我觉得目前有两个方法较好的解决。
第一个方法:面转线-如果线是封闭的用FME的DistanceSnipper函数可将线剪掉一小断-可以考虑对线适当的平滑(可选)-加密线上节点-用CollapseDualLinesToCenterline工具提取。
因为CollapseDualLinesToCenterline工具提取线中线时,算法是根据线上节点来提取的,加密节点后效果明显变好。
第二个方法:直接用FME的CenterLineReplacer函数生成面的中线。
见贴:/ESRI/ ... p;extra=&page=1
(2)
[已解决] 如何快速断开多条线?(提取中心线问题)
本帖最后由 mgfwhy 于 2009-10-12 11:27 编辑
见贴:
/ESRI/viewthread.php?tid=40029&highlight=%D6%D0%D0%C4%CF%DF 缘兄提到将线断开。
可是如果有多条线的话,一一去断开也是一项非常的工程。
请问有快速将一层内线断开的方法吧?
此外断开的位置对提取结果是否有影响?断开处开口的大小是否有影响?
(3)我得先确定机器里是否有FME
(4)安装ArcGIS的时候,如果是完整安装会有Extension这项,装好之后,在安装目录下会有这几项
D:\Program Files\ArcGIS\Data Interoperability Extension\workbench.exe
D:\Program Files\ArcGIS\Data Interoperability Extension\fme.exe
D:\Program Files\ArcGIS\Data Interoperability Extension\fmeview.exe
第一个是FME的workbench,第三个是fmeview,你可以去找找看,双击打开试试。
(可以修改一下盘符,然后把地址贴到开始\运行窗口下确定)
这里的fmeview是可以脱离ArcGIS环境打开的,workbench不行。
ArcGIS嵌入了FME的这两个模块来扩充数据处理能力,但是需要ArcGIS环境。
这时候不需要额外安装FME即可在Arctoolbox里新建spatial etl tool(根据向导一步步打开之后是FME Workbench)
另外,Arctoolbox下的data interoperability tools,类似于FME universal translator,支持多种格式的地理数据
互相转换
单独安装FME,功能比这个强大,而且是独立运行的。
(5)- - - - 学习笔记- - - -
最近看到很多朋友碰到这个个问题,在这里我和大家分享一下我处理此种问题的思路,共同探讨
第一种方法是借助ArcGIS自带的扩展,Spatial ETL Tool,该工具是FME的一个模块,通过介绍在ArcGIS环境下逐步地新建一个Spatial ETL Tool,熟悉FME这款软件的风格和主要思想。
第二种方法是ArcGIS自身的工具方法,打一套组合拳,亦可以得到想要的结果。
第三种方法是新近补上去的,主要思路和FME处理一样:先将点的坐标按"x,y" 的格式写入一个字段,然后对这个字段进行重复项检查<两步都是使用field Calculate>
=================================
ArcGIS Spatial ETL Tool
1.
打开Arctoolbox,选中Arctoolbox根目录,右击,选择new toolbox,自定义一个工具箱。
因为在ArcGIS自带的工具箱中,是没法自己新建工具或者脚本的。
紧接着,选中自定义的工具箱,右击,依次New\Spatial ETL Tool
注:
这里如果报错Error Unable to create a new tool .You do not have the necessary license to create a new tool. 如下图所示:
这不是什么许可不够,只是扩展没有选择而已。
解决办法:arcmap\Tools\Extension 勾选Data Interoperability。
如果Extension里面没有这项呢?得重新安装一下扩展,找到ArcGIS desktop 安装文件,开始安装\Modify\Application项叉掉;点开Extension,选择安
装需要的常用的扩展
2.
在新建Spatial ETL Tool后,会出现设置向导,如果取消向导呢?直接弹出出错框。
这里个人感觉不是很合理,比如老手在新建的时候,就可以跳过这些繁琐的设置。
下面分别详细介绍一下这个设置向导的每一步。
2.1
2.1.1
设置向导第一个页面是设置数据源格式。
点击浏览按钮,在弹出窗口中的左下角输入数据源文件的扩展名<比如shp,dxf,dwg等等>
2.1.2
选中后双击,或者选中,点下面的ok确定选择,点Next,进入下一页
这一页是选择数据源,两个按钮,左侧一个是浏览文件,右侧“+” 号那个是添加文件夹。
2.2
选好数据源格式,数据源之后,再next出现的是目标格式,选择方式同 2.1.1,略
2.3
数据源,目标都设好之后,再下来,向导页面有个Setting按钮。
在这里,我们可以设置环境参数
eg: Contains Z Value
拿这一项做例子。
不知道大家有没有碰到过数据的shape字段出现point z,polyline z,polygon z等字样,这时候,是不可以等同于point、polyline、polygon处理的,因为存储数据类型不一致。
有时候,明明z值就没有,可数据类型还是含有z。
通过实践,我发现这里的参数Contains Z values:No,如此,转换结果的shape就是我们常见的point、polyline、polygon。
3
上面的步骤完成后,点击完成按钮就会出现Data Interoperability界面,对应FME的Workbench。
如图所示
数据源,可能有很多层,这里的层,可以是按属性,可以按空间数据类型等
数据流,数据流是箭头,手动连接从哪里到哪里,很直观
目标层,细心观察,不难发现目标层颜色和数据源有差异。
这里颜色,是区分各种类型的一种标志
左侧上部,是数据源、目标的详细情况;工具、环境参数详情
左侧中部,是FME转换函数区,可以通过关键词搜索。
点击,会显示函数详细情况。
本文章会附录FME 转换函数对照表
下部是Log日志。
注:参照各人环境,可能稍有出入。
(6)
Workbench 组成
当Workbench 运行时,它从输入的数据中读取要素类型属性。
它开始时给
输出数据显示和输入数据相同的要素类型和属性。
所以,你经常会看到:
颜色定义
Properties 按钮在Transformer 的右上方。
它可以呈现为不同的颜色,显示
为感叹号或者省略号。
大多数情况下,Transformers 包含你运行Workbench 时可以使用的缺省值。
然而,如果属性按钮是红色的,并且显示有感叹号时,操作的字段有一个
是未设置的,你必须输入一个值才能运行转换。
如果属性按钮是黄色的,并且显示为省略号,转换工具在使用缺省值并且
起作用。
但是你还未确定缺省值是否是合适的。
通过点击属性按钮,检查
值,做一些可能的更改,然后点击Edit Properties 对话框中的OK 来完成确
认。
输入箭头是红色的:红色的箭头意味着这个端口没有输入。
如果这是
一个要素端口,没有要素进来;如果这是一个属性端口,没有设置值。
这
并不被认为是一个错误,因为存在你不想给一个特殊的端口任何输入的情
况。
然而,通常你双击红色箭头以保证任何丢失的输入是故意的。
输入箭头是绿色的:连接已设置。
输出箭头是黄色的:你不需要必须连接输出,但是如果未连接,运行Workbench 时,它的值将丢失。