所需工具
ArcGis;PostgreSQL数据库;uDig;
一、将CAD图转为shp文件
打开ArcGis的ArcMap
- 将文字标注保存至shp文件
在 转换工具->转出至地理数据库->CAD至地理数据库
选择CAD图,其余设置默认,点击确定
在ArcToolbox的数据管理工具->要素 中选择 要素转点
选择Annotation,点击确定
转换成功后默认显示该图层
在图层右键->属性,打开标注,勾选 标注此图层中的要素,并在下方选择标注字段,图层即可显示标注
之后在图层上右键->数据->导出数据,选择以Shapefile保存。
- 将其余文件导出为shp
在其他图层上右键->数据->导出数据,选择以Shapefile保存。
二、将shp文件导入到postgreSQL
由于GeoServer对shp文件中文支持不高,容易出现乱码,所以我选择以数据库发布。
Shapfile到SQL语句:
shp2pgsql 路径/shp数据文件名 新建的数据表名 > 路径/SQL文件名.sql
Shapfile直接入库:
shp2pgsql -c 路径/shp数据文件名 新建的数据表名 数据库名|psql -d 数据库名
举例说明:
如将一Shapfile文件“c:/road.shp”导入到数据表“road”中,数据库为“sjzmap”。
1、运行“命令提示符”。
2、切换至PostgreSQL数据库安装目录中的bin目录下。
3、执行此目录下的shp2pgsql命令:“shp2pgsql c:/road.shp road > c:/road.sql”。
4、使用pgAdmin4/pgAdminIII 或者navicat导入sql文件
如果导入失败,先执行 create extension postgis;
如果语句报错 错误: 无法加载库 “C:/Program Files/PostgreSQL/9.6/lib/rtpostgis-2.4.dll”: The specified module could not be found,,解决办法是不要用官方提供的那几个版本,可以在这下载https://www.filehorse.com/download-postgresql-64/42247/
## 三、在GeoServer上发布postgreSQL
自行百度
## 四、设置标注
使用uDIg打开文字的shp文件,右键图层->修改样式 在简单样式里勾选 标签 ,选择标注属性,可在数据库中查看属性
复制XML里的内容,在GeoServer中新增style,将复制内容粘贴到style里,关于Geoserver新增style并设置图层 自行百度。
## 效果图
来源:CSDN
作者:sunwolfer
链接:https://blog.csdn.net/sunwolfer/article/details/103872798