-
cityplan系统介绍
- cityplan是城市规划方案辅助审批系统,通过将VisualEditor制作好的三维规划方案导入该系统中,实现三维规划方案的浏览、审批、空间分析及辅助规划等功能。其具体功能包括
- 三维浏览:对三维场景进行热点定位、漫游浏览、动画管理、图层管理及系统设置等功能
- 方案编辑:针对审批方案,进行方案的地形平整、高程调整,以及方案建筑的位置、方位、楼高、基底调整,建筑的添加导入等,并提供对建筑物进行纹理替换的功能。
- 方案审批:针对审批项目和审批方案,进行项目管理、方案比选、指标查看、控规指标分析、方案空间分析、方案附件查看及审批结果管理等。
- 辅助规划:基于城市规划现状成果,进行现状建筑查询、用地查询、控规查询、关键字查询、复合查询、空间查询等;还可提供规划指标分析,如指标核算、拆迁分析、绿地分析、限高分析等。
- 管线分析:针对城市的地下管网进行管线业务分析。
- 常用工具:在三维场景中进行空间量算,包括水平距离、垂直距离、空间距离、平面角度、平面面积、地表面积等,并提供屏幕截图、2.5D出图。
-
添加模型
- 代码结构
//JS中的代码结构,其余的类似前面两个系统
aidedPlan-辅助规划功能模块页面
analysis-方案审批功能模块页面
commonTools-常用工具功能模块页面
pipelineAnalysis-管线分析功能模块页面
project-方案编辑功能模块页面
query-属性查询功能
view-场景浏览功能模块页面
earthTools.js-快捷工具条加载
leftPanel.js-左侧面板
menu.js-菜单加载
nav-tools.js-菜单、工具执行方法
tools.js-菜单、工具状态设置、事件注册等
-
Cityplan特有功能
http://192.168.100.68/se_city_plan?type=add
http://192.168.100.68/se_city_plan?type=delete
http://192.168.100.68/se_city_plan?type=update
http://192.168.100.68/se_city_plan?type=query
定点观察: Earth.GlobeObserver.FixedPointObserve(Longitude, Latitude, Altitude , Heading, Tilt, Roll)
通视分析: Earth.Analysis.LineSight( type, s_height, e_height, pts, v_source )
视域分析: Earth.Factory.CreateViewShed(guid, "")
阴影分析: Earth.Analysis.Shinning(elevationAngle, azimuthAngle, m_argsCircle, alyType)
日照分析: Earth.Measure.Insolation(month, day, begin, end, acc, resultCount, singlePoint, step)
沿街立面: Earth.GlobeObserver.FixedPointObserveEx3(line, double, double, 0, true, true)
淹没分析: Earth.Factory.CreatePolygonSubmerging(guid, "submerge")
- 辅助规划菜单解释
- 用地平衡:对系统中导入的现状用地信息进行统计查询
- 限高分析:获取控规地块的建筑限高字段值,与该控规地块中的现状建筑的建筑高度值进行比对,超过限高的建筑在结果列表中用红色高亮显示
- 指标核算:将现状建筑进行区域统计,计算一定范围内总建筑面积、总基底面积、容积率和建筑密度。
- 绿地分析:将现状绿地进行区域统计,计算一定范围内绿化面积和绿化率。
- 选址分析:对系统中导入的控规数据进行查询。
- 拆迁分析:根据将现状建筑中指定字段值域,统计按照一定范围进行拆迁后的拆迁成本,包括拆迁面积、栋数、费用等。
- 关键字查询:对系统中导入的各类矢量数据进行查询
- SQL查询:对指定矢量图层的属性信息进行多条件查询,可通过逻辑运算符、关系运算符设置查询条件
- 空间查询:对系统中导入的各类矢量数据进行空间查询
-
方案审批
- 分析功能是一些三维分析效果
- 方案审批分为两大部分 分析功能是一些三维分析效果
-
常用工具
- Fiddler抓包工具(可以实时抓取浏览器发送给服务器的请求,方便查看哪个请求未成功)
- Compare比对工具
- Arcgis (shp数据入库shp数据查看)
-
二次开发必备
- StampManager2
- 共享目录结构
- 客户端插件目录结构(主要在客户端的root文件下)
- 接口文档(查找接口技巧)(lib-ax接口文档)
- 虚拟机常用操作指令
-
常见问题排错技巧
- 错误日志(在共享目录文件夹下logs/error_log)
- 排除法
前端功能代码
服务
客户端
数据
机器环境
-
重点功能
属性查询:PickObject
模型查询:SearchFromLocal
管线数据库查询:SearchFromGISServer
矢量查询: geoserver服务
规划服务:se_cityplan增删改查
坐标转换(空间参考)
-
工具栏菜单(悬浮在球上的工具栏)
- 通过弹气泡的方式实现
- 工具栏就是一个HTML页面
- 页面内可以修改任意样式
-
实现天气实时模拟
- 根据行政区划面shp数据,天气实时预报数据,三维球移动到某个行政区面范围内,实时模拟天气(雨、雪、雾)
- 行政区判断与上面控规数据查询类似
-
模型对象入库管理
- 对数据库中的模型进行实时编辑管理
- 编辑平台和规划系统中用到比较多
- 获取视屏实例
- 导入模型实例
$("#btnAdd").click(function() {
filePath = earth.UserDocument.OpenFileDialog(earth.RootPath, "usx文件(*.usx)|*.usx");
if(filePath == ""){
return;
}
earth.Event.OnCreateGeometry = function(pPoint){
point = pPoint;
if(addEditLayer == null){//如果编辑图层不存在,则创建新的editModel图层
addEditLayer = earth.Factory.CreateEditLayer(earth.Factory.CreateGUID(), editLayerName, earth.Factory.CreateLonLatRect(-90,90,-180,180,0,100), 0, 100, database_link);
earth.Event.OnEditDatabaseFinished = on_add_layer_finished;
var param = earth.Factory.CreateLayerParameter();
param.Guid = addEditLayer.Guid;
param.Name = addEditLayer.Name;
param.Type = 1;
param.MaxVisibleHeight = 100;
earth.DatabaseManager.AddLayerInDatabase(database_link, param);
}else{//如果编辑图层不存在,则直接导入到该编辑图层中
on_add_layer_finished();
}
}
-
获取视屏实例
-
管线工程
-