cityplan二次开发

  1. cityplan系统介绍

  • cityplan是城市规划方案辅助审批系统,通过将VisualEditor制作好的三维规划方案导入该系统中,实现三维规划方案的浏览、审批、空间分析及辅助规划等功能。其具体功能包括
  • 三维浏览:对三维场景进行热点定位、漫游浏览、动画管理、图层管理及系统设置等功能
  • 方案编辑:针对审批方案,进行方案的地形平整、高程调整,以及方案建筑的位置、方位、楼高、基底调整,建筑的添加导入等,并提供对建筑物进行纹理替换的功能。
  • 方案审批:针对审批项目和审批方案,进行项目管理、方案比选、指标查看、控规指标分析、方案空间分析、方案附件查看及审批结果管理等。
  • 辅助规划:基于城市规划现状成果,进行现状建筑查询、用地查询、控规查询、关键字查询、复合查询、空间查询等;还可提供规划指标分析,如指标核算、拆迁分析、绿地分析、限高分析等。
  • 管线分析:针对城市的地下管网进行管线业务分析。
  • 常用工具:在三维场景中进行空间量算,包括水平距离、垂直距离、空间距离、平面角度、平面面积、地表面积等,并提供屏幕截图、2.5D出图。
  1. 添加模型

  • 模型文件
  • 建筑基底(shape文件)
  1. 代码结构
//JS中的代码结构,其余的类似前面两个系统
aidedPlan-辅助规划功能模块页面
analysis-方案审批功能模块页面
commonTools-常用工具功能模块页面
pipelineAnalysis-管线分析功能模块页面
project-方案编辑功能模块页面
query-属性查询功能
view-场景浏览功能模块页面
earthTools.js-快捷工具条加载
leftPanel.js-左侧面板
menu.js-菜单加载
nav-tools.js-菜单、工具执行方法
tools.js-菜单、工具状态设置、事件注册等


  1. 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")
  1. 辅助规划菜单解释
  • 用地平衡:对系统中导入的现状用地信息进行统计查询
  • 限高分析:获取控规地块的建筑限高字段值,与该控规地块中的现状建筑的建筑高度值进行比对,超过限高的建筑在结果列表中用红色高亮显示
  • 指标核算:将现状建筑进行区域统计,计算一定范围内总建筑面积、总基底面积、容积率和建筑密度。
  • 绿地分析:将现状绿地进行区域统计,计算一定范围内绿化面积和绿化率。
  • 选址分析:对系统中导入的控规数据进行查询。
  • 拆迁分析:根据将现状建筑中指定字段值域,统计按照一定范围进行拆迁后的拆迁成本,包括拆迁面积、栋数、费用等。
  • 关键字查询:对系统中导入的各类矢量数据进行查询
  • SQL查询:对指定矢量图层的属性信息进行多条件查询,可通过逻辑运算符、关系运算符设置查询条件
  • 空间查询:对系统中导入的各类矢量数据进行空间查询
  1. 方案审批

  • 分析功能是一些三维分析效果
  • 方案审批分为两大部分 分析功能是一些三维分析效果
  1. 常用工具

  • Fiddler抓包工具(可以实时抓取浏览器发送给服务器的请求,方便查看哪个请求未成功)
  • Compare比对工具
  • Arcgis (shp数据入库shp数据查看)
  1. 二次开发必备

  • StampManager2
  • 共享目录结构
  • 客户端插件目录结构(主要在客户端的root文件下)
  • 接口文档(查找接口技巧)(lib-ax接口文档)
  • 虚拟机常用操作指令
  1. 常见问题排错技巧

  • 错误日志(在共享目录文件夹下logs/error_log)
  • 排除法
前端功能代码
服务
客户端
数据
机器环境
  1. 重点功能

属性查询:PickObject
模型查询:SearchFromLocal
管线数据库查询:SearchFromGISServer
矢量查询: geoserver服务
规划服务:se_cityplan增删改查
坐标转换(空间参考)
  1. 工具栏菜单(悬浮在球上的工具栏)

  • 通过弹气泡的方式实现
  • 工具栏就是一个HTML页面
  • 页面内可以修改任意样式
  1. 实现天气实时模拟

  • 根据行政区划面shp数据,天气实时预报数据,三维球移动到某个行政区面范围内,实时模拟天气(雨、雪、雾)
  • 行政区判断与上面控规数据查询类似
  1. 模型对象入库管理

  • 对数据库中的模型进行实时编辑管理
  • 编辑平台和规划系统中用到比较多
  • 获取视屏实例
  • 导入模型实例
    $("#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();
            }
            
        }
  1. 获取视屏实例

  
  1. 管线工程

  • 支持地面以上管线的自动生成

你可能感兴趣的:(cityplan二次开发)