CAD到shapefiles的转换
- 行业
- 2023-02-24
- 73热度
- 0评论
一、基本概念
shapefiles,并非单独指“.shp”文件,而是一系列文件的集合。
至少必须包含同名的4种后缀文件:.shp、.dbf、.shx、.prj
其中,shp文件存储几何位置,dbf存储要素属性表,shx存储几何要素索引表,prj存储地理空间信息。
因此,当自规部门要求提供“shapefile”格式文件时,至少是包含上述4个文件。
二、软件环境
本方法至少必须2个软件:
FME,用于将dwg(或dxf)转换为shapefiles,但该软件无法对dbf进行编辑。
Visual Foxpro,用于编辑dbf文件。
可选的软件1个:
arcgis,我们可以用它来验证最终的shapefiles的可用性、正确性。
三、安装软件
依次安装FME、Visual Foxpro、ArcGIS。安装软件地址:百度网盘
注意,FME、ArcGIS软件安装略复杂,需要首先安装“授权服务器”并破解,然后安装软件本身。详见文件夹内的安装说明。
四、dwg文件准备
1、用于转换shapefiles的dwg文件应确保干净,正常情况下,应该只包含中线和用地边线两个图层(图层名随意,0层无所谓)
2、确保中线是单独一根连续且完整的多段线
3、确保用地边线是一根连续且闭合的多段线
4、除中线和用地边线外,不要有任何其他元素
5、dwg必须基于正确的坐标系绘制
五、FME转换shapefiles
1、确保以管理员身份运行的LMTOOLS中,已经启动了授权服务。(详见FME安装说明)
2、运行FME workbench,在“create workspace”下方,点击“Generate”
3、配置:
Reader:
a)Format:选择“Autodesk AutoCAD DWG/DXF”
b)Dataset:选取前面准备好的dwg文件
c)Coord. System:选择“CGCS2000/GK3d-120E_FME”,第一次下拉菜单中没有,请从下拉菜单底部的“More Coord. System...”中找到它,只需找一次,下次就默认在下拉菜单里面了。注意,如果甲方需要的是其他坐标系,那么要选择相应的坐标系(当然dwg也应该是基于同样的坐标系)
Writer:
a)Format:选择“Esri Shapefile”,第一次没有从“More Formats”中找到它,下次就默认在下拉菜单里了
b)Dataset:选取一个用于存放shapefile成果的目录
c)Coord. System:默认“Same as source”
确保配置无误,点击OK。
4、FME会解析dwg文件,并弹出图层选择窗口,勾选需要的图层(一般就是中线和用地边线两个图层),0层如果没有内容则取消勾选。点击OK。
5、FME将在Main窗口中展开各图层计划对应的文件名。由于dwg文件仅包含多段线,因此实际上这里真正生效的只有各图层的“line”类别。
6、根据甲方的要求,对各图层的“line”类别对应的文件名进行修改,例如,将“XW_K_line”改为“GLZXX”,将“ydhx_line”改为“XMYDBJ”。
7、单击FME界面左上方的“Run Translation”,它是一个醒目的绿色三角按钮。弹出目录确认框,确认无误后,点击OK。
8、查看shapefiles成果目录,发现shapefiles文件已经生成。每个对象生成4个后缀名的文件,2个对象就应该是8个文件。
六、编辑dbf文件
1、使用Visual Foxpro打开生成的dbf文件。
2、在“显示”菜单,单击“表设计器”。
3、根据甲方文件要求,添加相应字段。
4、完成“表设计”后,单击确认,弹出确认“是否永久修改表结构”,点击“是”。
5、再次点击“显示”菜单中“浏览……”,再次打开表。点击一次数据行。
6、单击“显示”菜单中的“编辑”。
7、根据甲方要求和项目实际情况对应填写。
8、注意:最后一格填完后,记得按一下回车,或者鼠标将焦点切换离开最后一格,然后再关闭Visual Foxpro。表格的编辑无需专门保存,Visual Foxpro将自动保存。
9、建议再次Visual Foxpro打开该dbf文件,确认数据无误。
10、如此按甲方要求和项目实际情况,依次编辑、确认每个dbf文件。
七、arcgis中验证(可选)
1、确认“license server administrator”中已经启动许可服务。(详见arcgis安装说明)
2、打开arcmap,新建空白地图。
3、将生成好的shapefiles文件夹中的shp文件拖动到arcmap界面左栏的“图层”两个字下方。
4、松开鼠标,成功导入shapefiles。
5、右键点击对象名(例如“GLZXX”),单击“打开属性表”。
6、查看确认属性表数据完整无误。
7、依次确认所有对象的shapefile。
八、将shapefiles成果打包。
九、第二次如何提高效率
dbf的表设计是最费时的步骤。实际上,做好一次dbf后,完全可以复用。
1、将前一个项目的dbf复制,重命名为当前项目的dbf文件名,覆盖当前项目生成的dbf文件。
2、修改其表设计(如果一致则无需修改,原则上三区三线的要求所有项目都是一样的),编辑其内容。