简介
在之前的文章当中介绍过,白模属于3DObject类型的数据。如何实现城市白模数据的更新?这需要提前对数据做一些设置。本文同样适用于精模(FBX、OBJ)等类型的SLPK。
所需环境和数据
所需环境:ArcGIS Pro或者GeoScene Pro,ArcGIS Enterprise或者GeoScene Enterprise;客户端和服务器端相连。
所需数据:带z值的二维shp数据。
步骤
Pro连接Portal
勾选Project,进入Portals。添加portal。设置为当前激活用户。
拉伸并显示为三维要素
在appearance - extrusion - type中选择base height,field选择高度字段(H),注意以米为单位。这就会自动更新为三维要素。
转三维要素类
使用layer 3d to feature class工具,将二维数据作为输入数据转换为multipatch。
连接Datastore内置的PostgreSQL数据库
在Insert选项卡 - Connections中添加数据库连接。
打开数据库连接窗口。如果在本机,可以直接写IP地址或者localhost,获取pg密码;如果客户端(Pro)和服务器端(Enterprise)不在同一台机器上,需要在服务器端的数据库添加信任,再获取pg密码连接。
修改datastore配置目录(arcgisdatastore或者geoscenedatastore)中pgdata目录下的pg_hba.conf文件,在IPv4下添加host all all 0.0.0.0/0 trust
然后重启datastore服务。
重启完毕后在datastore安装目录下有一个tools工具,运行listadminusers命令,获取sde的密码
此时就可以连接成功了。
数据库导入
此步骤将multipatch导入至sde中。右击sde,引入要素类即可。
成功后数据库中就存在了导入的三维multipatch。
开启存档和Global ID
右击导入的图层,选择properties,切换到manage页面,勾选archiving和Global IDs。
现在属性中添加了2个字段
发布
右击图层,sharing中选择share as web layer;填写summary和tags,注册数据源,在配置页面会显示更新机制。
如果遇到数据未注册到数据库的报错,直接注册即可。之后无报错即可发布。
更新测试
直接在sde中修改源数据。例如,修改一个属性,或者添加一个图形。
将1号楼的Number由1更改为8。
每次更新完毕后,需要在Portal的服务settings页面,点击manage cache。根据情况选择更新机制。
现在1号楼的Number字段成为了8。属性更新成功。
在sde中新增几何信息和属性信息后,重新构建场景缓存。几何信息也更新成功。