-
道路数据处理中遇到的问题及解决方案
精图
木子九日方收集
1.
打断相交线
用
Topology
工具栏中的
planarize
lines
这个工具
2.
同名道路的连接
dissolve
3.
提取道路交叉口
提示:在做下列处理
时先做好数据备份!
!
!
一下操作针对
shapefile
文件操作,不是
shapefile
的先转换格式。
1
、预处理数据
在
arcmap
中编辑
shape
file
文件,工具全部选中要素,点击
map
topology
,建
立地图拓扑关系(
1
)
,然后点击点击打断线工具,在交点处打断线
(
2
)
,保存结
果,我这里保存到了
。
1
2
2
、在
arccatalog
中右键点击
刚才保存的文件,选新建网络数据集,一路
next
和
yes
,别管内容。
3
、这样就生成了结合点文件
test
_ND_
,但这还不是我们要的线
交点文件,因为里边有悬挂结
点和自相交结点。
4
、用
空间
连接
,将
test_ND_
和
连
接
,生
成文件
test_Juncti
ons_
。打
开此
文件
属性表
,发
现多
了一
个字段
join_count:
这个字段的数值就是点和多少条线相连的数。
5
、编辑
test_Junctions_
,按属性选择
join_count
小于
2
的
点,删除,剩下的点就是我们要的线的交点
,保存文件。
4.
删除道路悬挂点
拓扑规则:
Must not have dangles
p>
,不允许线要素有悬结点,即每一条线段的
端点都不能孤立,
必须和本要素中其他要素或和自身相接触
(同一线层之间的拓
扑关系)
。修正方法:将有悬点的线段延伸到其他要素上,或者将长出的
部分截
断后删除。
5.
删除道路伪节点
拓扑规则:
Must not have Pseudos
p>
,不能有伪结点,就是一条线段中间不能有
断点。修正方法:将伪结
点两边的线段合并为一个条线,伪结点自然消除。
同一道路不能相交
规则二:
Must
not
intersect
,同一层要素中,线与线不能重叠和相交(同一层<
/p>
之间的关系)
。修正方法:重合处合并,相交处打断。
6.
同一道路不能重叠
拓扑规则:
Must
not
self-overlap
,线要素不能和自己重叠,修正方法
:截断、
删除重叠部分。
7.
道路不能自相交
拓扑规则:
Must not self intersect
,线要素不能自相交,就是不能和自己搅
在一起。修正方法:在
自相交处适当缩短或外移。
8.
道路需单独不能联合
拓扑规则:
Must be single part
,线要素必须单独,不能联合。但若是两条线
首尾相连接,
这时候
Merge
操作后产生的是一条线了,
这时候是不会报错的。
但
是分开的两条线进行
Merge
操作,
这时候就会出现不符
合规则的错误。
这个拓扑
限制在数据处理的时候很有用处。修正
方法:将连合的部分打散就可以了。
9.
道路面不能重叠
拓扑规则:
Must
not
overlap
,同一多边形要素类中多边形之间不能重叠(同一
p>
层之间的拓扑关系,不涉及到其他图层)
。例如,宗地之间不能有重
叠。修正方
法很灵活。
10.
提取道路中心线
方法:
arctoolbox
-->generalization-->collapse dual lines to centerl
ine
提供
了中心线的提取工具。
注意事项:
1
双线是非封闭的。
2
是
coverage
格式。
3
要设置好双线间的间距,注意数据单位。
4
build1380
版本好像要出错。
11.
如何删除只有一端相接的道路
有如下
图的道路面,
有些道路只有一端和别的道路相接,
数据量挺大,
想问一下
有什么好的办法一次性删除图中用红色圈住的道路的面
呢。
方法一:
自己和自己做
spatial join
,删除结果中
join_count=2
的。
方法二:
用
Dissolve
工具将道路面合并
2.
在
Spatial ETL To
ol
中用
CenterLineReplacer
生成中心线
3.
利用
p>
ArcToolBox
的
Feature
To Polygon
工具将生成的中心线转成闭合的面。
4.
然后用
Feature To L
ine
工具,根据道路宽度设置
Tolerance
,我这里设置的
是
3m
,
生成
3
的面的轮廓线。
5.
对轮廓线再次执行
Feature
To Polygon
生成新的面。
6.
用
5
生成的面对原来的道路面执行
完全包含的空间检索,
就可以只抽出一端相
接的道路面了。再把
这些面删除就可以了。
为什么不用
3
所生成的面直接执行空间检索,
这是
因为想要删除的一端相接的道
路面的影响,
生成的道路面可能会
沿着一端相接的道路面的方向伸出去一些形成
一个突出的小三角。
这样执行空间检索,
有部分这种道路面就不是完全被包含的
了
,会漏掉一部分一端相接的道路面。而执行
4
,
5
可以基本消除那些伸出去的
小三角。再执行空间检索
,就可以提高很大的精度。
(我用小量数据测试的结果
是
100%
)
12.
如何去除道路边线而保留道路中心线
如图,
有道路面层和道路线层,
线层中包含道路边线和中心线,
无属性区分。
如
何去除边线而保留中心
线呢
方法一:
道路面转线,原道路线和转出的线做
select by lo
cation
,用
WITHIN
,选出
与
边线重合的线,再反选。
13.
道路制图表达
道路分级显示中,交叉路口的过渡,如显示的最终效果如下图:
解决方法:
首先要用
multilevel
符号(如下图所示,有多层,
边线是由一层形成)渲染要
素:
这是渲染后处理前的效果:
设置
symbol
level
,注意红框内的选项:
处理后的效果:
14.
怎么才能把路变成半透明的
例如国道
和铁路相交的时候,国道压着铁路,但是这时候国道是透明的,透
过国道可以看到下面的
铁路、
解决方法
< br>在属性表里建个字段放置透明度,
比如将国道该字段设置成
50
,
然后按图设
置
15.
大量道路因转换造成数据不连贯
方法一:
用
fme
snaper
函数处理试过,
但效果不好,
而且如果容差设得不对,
很容易照成别的错误,
如把不该捕
捉到一块的点捕捉到了一块。
方法二:
1
、在
ArcCatalog
中打开数据所在的
< br>gdb
,右键点击空白处→新建→要素数据集,输入名称,
点击下一步。
选择和你所要修正的数据同样的坐标系。
一直点
击下一步直到完成,
点击完成
按钮完成数据集建立。将要修正的
数据导入到这个新建的数据集中。
(如果你的数据本身就
在要素
数据集中的话,可以省略这一步。
)
1.
在
ArcCatalog
中打开数据所在的
gdb
,右键点击空白处→
新建→拓扑,点击下一步,名
称可以改也可以不改,输入拓扑容差,这一步最关键,输入
一个大于你数据之间缝隙的值,
比如你数据之间的缝隙大约有个
10
厘米,那么你输个稍微大些的值,比如
0.5
米,点击下
一步,
选择你要修正的要素类。
一直点击点击下一步直到出现完成按钮,
点击完成。
拓扑建
立后提示是否立即验证,
点击是。
< br>这样就已经完成了缝隙的修正,
你可以把数据加到
Arc
Map
中进行确认。
16.
关于提取要素中心线的问题
方法一:
FME
中函数
CenterLineReplacer
CenterLineReplacer
Mode
:
Medial axis
结果如下图
:
细长型要素可以很好的实现,但是稍微有点不规则的图形会出
来很多碎线
.
方法二
ArcGIS
本身的工具
1
、
先
p>
将要提取中线的面转成线,利用
Feature to
line
:
2
、
在线的一端开口:
3
、利用
Collapse Dual
Lines To Centerline
最大宽度设置,最大宽度根据数据填写(我
给的
100
,单位
meters
)
,效果如下图:
得到的结果仍然是细长型要素实现的比较好,而其余的就会出现很多碎线。
给最大宽度太大的时候,细长型要素的中线提取就会出现问题。
17.
求各网格道路的条数
一个网格图和一
个路网图,
路网已经被各网格单元打断,
统计各网格单元内的道
路条数
解决方法
路网和网格做
INTERSECT
后,再做表汇总,出了个各网格道路长度的新表。然后把
这个表和原来网格做
SPATIAL
JOIN
。
18.
地图名称在道路名称上面固定住
在操
作的时候地图名称老是跟着跑,可不可以让地图名称在道路名称上面固定住!
用
labeling
工具条上的
lock
labels
可锁定
更好的办法是将
label
转成
< br>annotation
,位置可更灵活地确定。
19.
道路设置
SUBTYPE
等级
把道路分成
三个等级,然后分别矢量化。编辑的时候
target
会出现以
下几个选择:
< br>在
arccatalog
里设置好
subtype
就有了。
20.
在
双线道路内生成
Delaunay
三角网
图
1
为实验所用的双线道路
图
2
为要生
成的目标
Delaunay
三角网的标准
解决方法
生成
tin
后转成
raster
,用道路面切割
raster
,然后再将切割
下的
raster
转成
tin
。
21.
道路多名称标注
国道省道除开数字名
称(如
G015,S120
等)外还有当地的文字名称,想同时
标注在道路
上,请问如何实现就是这样的效果:
解决方法:
将道路在地图上加载两次
,
再设定两个图层
albel
为不同的字段就可
以了
22.
怎么求各个村到最近道路的距离
一个
县城有
100
多个村,求各个村到不同道路的最短路径
解决方法:
用
p>
near
工具
23.
不同道路图层相交处制图
遇到道路交叉的问题,很难看。怎么处理掉交叉的部分啊
解决方法:
将几个图层组合成
group la
yer
,
使用
multilevel<
/p>
符号,
设置好该组合图层
symbol
levels
里的
merge
和
join
。
1
、
group layer
选中所有要组合在一起的图层,点右键,选
group
-
-
-
-
-
-
-
-
-
上一篇:判断点在多边形内的多种写法
下一篇:ansys英语单词表及菜单对照(完整板)