• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SharpMap在供水管網(wǎng)調(diào)度系統(tǒng)分層處理中的應(yīng)用

      2015-03-26 11:56:27朱金良陳大東

      朱金良 陳大東

      摘 要:SharpMap是一個(gè)基于.NET 2.0使用C#開發(fā)的Map渲染類庫(kù),可以渲染ESRI Shape、PostGIS、MS SQL等格式的GIS數(shù)據(jù)。利用開源GIS作為開發(fā)平臺(tái),這樣不僅成本低廉,還可以開發(fā)具有完全版權(quán)且自主創(chuàng)新的軟件產(chǎn)品。該文介紹了SharpMap在供水管網(wǎng)調(diào)度系統(tǒng)中的應(yīng)用,對(duì)SharpMap的源代碼進(jìn)行消化開發(fā),進(jìn)而開發(fā)自來水管網(wǎng)GIS。重點(diǎn)論述了SharpMap圖層方法的應(yīng)用。

      關(guān)鍵詞:SharpMap 開源GIS 供水管網(wǎng)調(diào)度系統(tǒng)

      中圖分類號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)01(a)-0063-02

      近年來GIS被引入到供水行業(yè),以GIS和SCADA為核心的供水管網(wǎng)調(diào)度系統(tǒng)在自來水公司信息化建設(shè)中很受歡迎。

      大部分供水管網(wǎng)GIS的開發(fā)平臺(tái)為ArcGIS和MapGIS,這些開發(fā)平臺(tái)價(jià)格高,中小型供水企業(yè)接受不了。雖然這些平臺(tái)功能強(qiáng)而全,可中小型供水企業(yè)不一定全用得上,但是卻沒有一些系統(tǒng)(如與SCADA、EpaNet)的集成功能,這些平臺(tái)不是開源的,無法進(jìn)行二次開發(fā)。利用開源GIS進(jìn)行二次開發(fā)可以與其他系統(tǒng)充分進(jìn)行資源共享,開發(fā)出技術(shù)含量高的軟件。

      1 SharpMap簡(jiǎn)介

      利用開源GIS作為開發(fā)平臺(tái),這樣不僅成本低廉,還可以開發(fā)具有完全版權(quán)且自主創(chuàng)新的軟件產(chǎn)品。SharpMap是一個(gè)基于.NET 2.0使用C#開發(fā)的Map渲染類庫(kù),可以渲染ESRI Shape、PostGIS、MS SQL等格式的GIS數(shù)據(jù)。

      選擇SharpMap作為開發(fā)平臺(tái)具以下優(yōu)點(diǎn):

      (1)占用資源較少,響應(yīng)比較快。

      (2)它是基于.NET 2.0環(huán)境開發(fā)的,對(duì)于.NET環(huán)境支持較好,可利用資源多。

      (3)使用簡(jiǎn)單,便于推廣。只要在.NET項(xiàng)目中引用相應(yīng)的dll文件即可,沒有復(fù)雜的安裝步驟。

      2 供水管網(wǎng)的分層管理

      供水管網(wǎng)調(diào)度系統(tǒng)分為幾層:管道層、閥門層、水表層、流量監(jiān)控層、壓力監(jiān)控層、節(jié)點(diǎn)層等,采用分層管理,方便對(duì)管道類型及附件(如閥門等)進(jìn)行分類管理,在顯示時(shí)可以單獨(dú)顯示,一目了然,便于突出重點(diǎn)。也可以疊加顯示和綜合考慮。以下是供水管網(wǎng)調(diào)度系統(tǒng)的界面,各個(gè)層可以分別顯示,也可以重疊顯示。

      3 SharpMap圖層對(duì)象概述

      SharpMAP中所有圖層(Layer)都是從ILayer接口派生的,采用了面向接口的編程思想。雖然各種不同的圖層,如矢量圖層和標(biāo)注圖層相差很大,但它們都有共同的特點(diǎn):圖層的名稱、最大最小可視范圍、是否渲染等,而且圖層都使用Render方法來渲染自己。

      與一般GIS軟件不同,SharpMap的圖層標(biāo)注是以一類特殊的圖層(LabelLayer)而存在的。

      SharpMap.Layers.LabelLayer lLayer = new SharpMap.Layers.Label

      Layer("labels");

      lLayer.DataSource = vLayer.DataSource;

      lLayer.Enabled = true;

      lLayer.LabelColumn = "name";

      mapBox1.Map.Layers.Add(lLayer);

      以上代碼創(chuàng)建一個(gè)標(biāo)注圖層lLayer,然后指定標(biāo)注圖層的數(shù)據(jù)源,也就是指定對(duì)哪一個(gè)矢量圖層做標(biāo)注,再指定標(biāo)注字段即可。

      4 供水管網(wǎng)圖層的具體實(shí)現(xiàn)

      下面以壓力監(jiān)控層為例說明SharpMap

      //Create WMS layers

      var layerSCADAPress = new OpenLayers.Layer.WMS(

      “SCADA壓力監(jiān)控”,

      WMSURL,

      {

      version: WMSVERSION,

      layers: ‘SCADA壓力監(jiān)控,

      transparent: 'TRUE'

      },

      {

      isBaseLayer: false,

      singleTile: true ,

      projection: CRS,

      units: CRSUNITS,

      visibility: false

      }

      );

      //Create a vector layer

      layerVectors=new OpenLayers.Layer.Vector(

      "Vectors",

      {

      displayInLayerSwitcher: false

      }

      );

      //Create styles of the vector layer

      layer_style_warning=Open Layers.Util.extend({},OpenLayers.Feature.Vector.style[‘default]);

      layer_style_warning.fillOpacity=1;

      layer_style_warning.graphicOpacity = 1;

      layer_style_warning.strokeColor = “red”;

      layer_style_warning.fillColor = “red”;

      layer_style_warning.graphicName = “star”;

      layer_style_warning.pointRadius =10;

      layer_style_warning.strokeWidth = 5;

      layer_style_warning.rotation = 45;

      layer_style_warning.strokeLinecap = “butt”;

      //Create stylemap of sketch

      var sketchSymbolizers = {

      “Point”: {

      pointRadius: 4,

      graphicName: “square”,

      fillColor: “white”,

      fillOpacity: 1,

      strokeWidth: 1,

      strokeOpacity: 1,

      strokeColor: “#333333”

      },

      “Line”: {

      strokeWidth: 3,

      strokeOpacity: 1,

      strokeColor: “#666666”,

      strokeDashstyle: “dash”

      },

      “Polygon”: {

      strokeWidth: 2,

      strokeOpacity: 1,

      strokeColor: “#666666”,

      fillColor: “white”,

      fillOpacity: 0.3

      }

      };

      var style = new OpenLayers.Style();

      style.addRules([

      new OpenLayers.Rule({symbolizer:sketchSymbolizers})

      ]);

      var styleMap=new OpenLayers.StyleMap({“default”:style});

      5 結(jié)語(yǔ)

      該系統(tǒng)對(duì)SharpMap的源代碼進(jìn)行開發(fā),使之成為自來水管網(wǎng)GIS的二次開發(fā)平臺(tái),進(jìn)而開發(fā)自來水管網(wǎng)GIS。該文分析了SHarpMAP的圖層技術(shù),并給出了參照程序代碼。對(duì)GIS技術(shù)的研究和應(yīng)用有一定作用。

      參考文獻(xiàn)

      [1] 伊學(xué)農(nóng).給水排水管網(wǎng)工程設(shè)計(jì)優(yōu)化與運(yùn)行管理[M].北京:化學(xué)工業(yè)出版社,2007.

      [2] CJJ207-2013城鎮(zhèn)供水管網(wǎng)運(yùn)行、維護(hù)及安全技術(shù)規(guī)程[S].中華人民共和國(guó)住房和城鄉(xiāng)建設(shè)部.

      注釋:

      ①本文根據(jù)2013年度福建水利科學(xué)技術(shù)獎(jiǎng)二等獎(jiǎng)項(xiàng)目《基于SharpMap的水務(wù)管理信息集成系統(tǒng)》的部分技術(shù)撰寫。

      晴隆县| 紫云| 崇文区| 虎林市| 三河市| 绥中县| 庄河市| 外汇| 铜梁县| 东方市| 筠连县| 二手房| 濮阳市| 勐海县| 赣州市| 通榆县| 秦安县| 辽阳市| 得荣县| 鄂托克前旗| 石林| 宜兴市| 广河县| 苍梧县| 共和县| 云阳县| 辽源市| 建平县| 开阳县| 沅江市| 枞阳县| 紫金县| 肇庆市| 沂源县| 辰溪县| 丰城市| 苍溪县| 泸溪县| 崇文区| 棋牌| 历史|