写在前面的话:
在企业或者单位内部网络想要自己部署ArcGIS Server、Portal发布三维服务的话,需要严格按照这个链接中的步骤部署软件环境:
http://zhihu.esrichina.com.cn/article/2883
前面环境如果没有安装好,后面发布服务会出现几种问题:
1.提示Portal不支持发布web scene这种类型的服务,问题原因:datastore没装好,或者装了之后挂了
2.发布三维服务要经过发布成功、缓存成功两步,如果只是发布成功,但是缓存失败,那也是失败的。基本问题也是在datastore。
3.可能也会有证书引起的发布失败问题,安装完基础环境,最好把证书都统一一下。可以参考:https://www.jianshu.com/p/8c8c10f37372
-------------------------------------------------------------------
1 获取ArcGIS Pro的使用许可
对ArcGIS Pro进行授权的方式有两种,一种是获取许可注册文件的方式,一种是申请ArcGIS Online临时试用的方式。
如果能上网,可以使用第二种方式,自己在网上申请arcgis online的账户,可以免费试用30天。申请到账户之后,在arcgis online上登录,然后选择“我的组织——管理许可”:
在许可管理界面,对账户进行ArcGIS Pro许可的配置:
完成之后,就可以打开ArcGIS Pro使用账户登录arcgis.com了。
2 为ArcGIS Pro添加Portal的地址
打开ArcGIS Pro之后,在右上角点击登陆状态栏,弹出的界面里选择下面的Manage Portals:
在Portal管理界面中,选择Add portal:
添加要发布服务的portal地址,点击OK
如果弹出需要安装证书的提示,可以添加证书,将证书添加到本地计算机的受信任的根证书颁发机构中。
添加完之后,就需要用portal的账户登录了,右键点击刚才添加的链接,选择Sign in:
在弹出的登陆界面中,输入portal的用户名和密码,点击sign in:
登陆之后,再将这个portal设置为激活的portal,如果同时添加了多个portal地址,必须要将自己要发布的portal设置为激活状态。
设置完之后,在当前portal上就会有一个绿色的对号,表示是当前激活状态的portal。
3 准备要发布的三维场景
3.1 新建scene场景
ArcGIS Pro中有map、scene不同类型的地图模式,一个project中可以包含多个scene或多个map。在项目管理界面中选择新建scene,用于展示三维数据。
3.2 添加三维模型数据
制作好的各种模型都必须先转换成多面体(Multipatch)格式才能在Pro里浏览、发布。在 Pro中可以通过Import 3D files工具将模型导入到GDB中成为多面体格式。该工具支持的模型格式有:3D Studio Max (*.3ds), SketchUp (*.skp), VRML and GeoVRML (*.wrl), OpenFlight (*.flt), and COLLADA (*.dae). 其他格式如osgb、obj可以通过数据互操作扩展模块进行转换。Obj模型也可以使用CityEngine进行格式转换。
--------------------------------------
2018.10.29更新:可以在skecthUp软件中把skp格式的模型转成dae、或者其他pro所支持的格式然后进行转换。也可以在ArcMap中使用Import 3D files导入skp格式的模型。导入进来都是ArcGIS的GDB进行存储。
由于模型在建模软件里导出时坐标都会归零,所以模型再导入到GIS软件就会跑到海面上0,0点位置。需要把模型移动到正确位置。可以通过Pro的编辑工具中,在更多工具中搜索move to,然后选择绝对(默认是相对位置),然后输入正确的坐标位置。就可以把模型移动到正确位置。
如果是批量模型导入,可以把模型的真实位置记录到一个txt或者xls文件中,然后使用添加x、y点的功能将txt或者xls转为点要素类。最后使用import 3D files工具时,在最下面的Placement points设置中选择创建的点要素,当然记录真实位置的txt里要有名称字段与模型唯一对应,这样才能按照唯一字段,把模型自动移动到正确位置。
----------------------------------------------
指定要导入的模型和输出要素名称,以及建模时的坐标系,点击运行即可。
如果已有multipatch数据,直接添加到pro中即可, Pro中可浏览、编辑三维模型(缩放、移动、旋转)。
4 发布三维数据
含Z值的点、线、面以及Multipatch都可发布为scene服务。发布时可以作为整个场景一次发布,也可以按图层发布。
按图层发布时,就在图层上点击右键,选择share as web layer:
然后在Pro右侧就弹出了发布服务要填的属性信息:
其中带*号的为必填项,都必须填了才行。然后点击Publish即可发布。
发布过程中,可以点击Jobs查看具体发布的状态,一般经过发布成功、缓存成功之后,整个三维数据才算发布成功。三维服务发布过程中缓存过程为自动计算,无需人工操作。如果缓存完之后有感叹号,可以先浏览一下,看是否能加载成功,如果加载不成功,需要重新发布一遍。
--------------2018.10.29更新-----------------
对于倾斜摄影测量数据可以从smart4.0以上版本中直接输出slpk或者spk格式的模型,然后使用share package进行发布。
---------------------------------------------------
5 在Portal中浏览发布的scene服务
在chrome中打开portal主页,用portal的账户登录进去,点击My content(我的内容),可以看到刚才发布的服务。点击类型为Scene Layer的服务旁边的小三角,可以选择显示服务详细信息或者直接在scene场景中打开这个三维服务。
在打开的scene viewer中可以看到球体,点击图层右边的缩放至可见,就可以将视角移动到模型附近。
Portal中会默认加载Esri在线提供的dem服务,用于显示地球的高程起伏变化。有的模型如果是基于平面建的,在这显示时会有一部分被地表遮挡。只要在左侧的Properties中,关闭默认高程服务即可。
如果希望发布自定义高程服务,网上也有方案,arcgis官方也有帮助说明。
发布的模型可以在前端portal或者api调用时选择是贴地表或者偏移多高的距离,不需要在编辑数据时改数据的高度。