freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于開源gis的電子地圖開發(fā)-資料下載頁

2025-06-23 08:08本頁面
  

【正文】 op numeric)。SELECT AddGeometryColumn(39。39。,39。states11_map39。,39。the_geom39。,39。139。,39。MULTIPOLYGON39。,2)。COMMIT。~ ,每個文檔填入各自的地理數(shù)據(jù)信息。,輸入如下代碼:psql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgres@echo off:hellopsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulpsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulpsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulpsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulpsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulpsql d template_postgis20 f C:\Program Files\PostgreSQL\\bin\ postgresping n 5 nulgoto hellorem運行后,打開瀏覽器,輸入://localhost:8080/geoserver/即可以看到操作界面,可以觀察到地圖隨PostGIS數(shù)據(jù)的改變動態(tài)更新。網(wǎng)頁保持周期性更新,需要加入下面這一行代碼:meta equiv=refresh content=5圖 5 基于PostGIS的地圖呈現(xiàn)3 OpenLayers實踐OpenLayers項目分析 項目介紹OpenLayers是由MetaCarta公司開發(fā)的,用于WebGIS客戶端的JavaScript包,V,通過BSDLicense發(fā)行。它實現(xiàn)訪問地理空間數(shù)據(jù)的方法都符合行業(yè)標準,比如OpenGIS的WMS和WFS規(guī)范,OpenLayers采用純面向對象的JavaScript方式開發(fā),同時借用了Prototype框架和Rico庫的一些組件。采用OpenLayers作為客戶端不存在瀏覽器依賴性。由于OpenLayers采用JavaScript語言實現(xiàn),而應用于Web瀏覽器中的DOM(文檔對象模型)由JavaScript實現(xiàn),同時,Web瀏覽器(比如IE,F(xiàn)F等)都支持DOMOpenLayersAPIs采用動態(tài)類型腳本語言JavaScript編寫,實現(xiàn)了類似與Ajax功能的無刷新更新頁面,能夠帶給用戶豐富的桌面體驗(它本身就有一個Ajax類,用于實現(xiàn)Ajax功能)。目前,OpenLayers所能夠支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(WellKnownText)。,實現(xiàn)了具體讀/寫這些Format的解析器。OpenLayers所能夠利用的地圖數(shù)據(jù)資源“豐富多彩”,在這方面提供給擁護較多的選擇,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。當然,也可以用簡單的圖片作為源。第一次使用OpenLayers:先到它的官方網(wǎng)站,解壓后可以看到其中的一些目錄和文件,、根目錄下的lib目錄、根目錄下的img目錄到你網(wǎng)站的Scripts目錄下(當然,這個只是例子,您網(wǎng)站的目錄結構您自己說得算,/lib,/img在同一目錄中即可)。然后。我們以加載WMS和GML文件為例。scriptsrc=../lib//scriptscripttype=text/javascriptvarlon=5。//xaxiscoodinateinmapunitsvarlat=40。//yaxiscoordinateinmapunitsvarzoom=5。//numberofzoomlevelsvarmap,layer。//聲明變量map、layer;等同于varmap=null。varlayer=null。map=new(39。map39。)。//layer=new(OpenLayersWMS,{layers:39。basic39。})。//(layer)。((,))。//在Map對象上加載Layer對象,主要就是實現(xiàn)圖片的范圍。使加載的圖片可以顯示全部需要顯示的地圖信息,不丟失(new(GML,gml/))。//再在剛加載的WMS文件上,加載GML文件剩下的工作就是,比如LayerSwitcher等。它們會在地圖瀏覽的“窗口”上增加一些工具欄或是“按鈕”,增加互動性和功能性。 源代碼總體結構分析通過前面的項目介紹,我們大概已經(jīng)知道Openlayers是什么,能夠做什么,有什么意義。接下來我們分析它怎么樣,以及怎樣實現(xiàn)的等問題。這個圖是從它的文檔上截取的,旨在從感官上認識一下OpenLayers的類。下面分別介紹(文檔中的類是按字母順序排列的,也按這個順序說吧):我們看到在類的頂層“高高在上”的是OpenLayers,它為整個項目實現(xiàn)提供名稱空間(JavaScript語言沒有名稱空間一說,但是它確實有自己的機制實現(xiàn)類似的功能,后面會說明),它直接擁有常量VERSION_NUMBER,以標識版本。Ajax:顧名思義,用于實現(xiàn)Ajax功能,只是OpenLayers的開發(fā)者們把它單獨寫到一個類里了。同時,設計的時候也考慮了跨瀏覽器的問題。BaseTypes:這里定制了OpenLayers中用到的string,number和function。比如,OpenLayers.String.startsWith,用于測試一個字符串是否一以另一個字符串開頭;OpenLayers.Number.limitSigDigs,用于限制整數(shù)的有效數(shù)位;OpenLayers.,用于把某一函數(shù)綁定于對象等等。Console:,此名稱空間用于調(diào)試和把錯誤等輸出到“控制臺”上,需要結合使用../Firebug/。Control:我們通常所說的控件類,它提供各種各樣的控件,比如上節(jié)中說的圖層開關LayerSwitcher,編輯工具條EditingToolbar等等。加載控件的例子:class=new(39。map39。,{controls:[]})。(new())。(new())。Events:用于實現(xiàn)OpenLayers的事件機制。具體來說,OpenLayers中的事件分為兩種,一種是瀏覽器事件,例如mouseup,mousedown之類的;另外一種是自定義的,如addLayer之類的。OpenLayers中的事件機制是非常值得我們學習的,后面將具體討論。Feature:我們知道:Feature是geography和attributes的集合。在OpenLayers中,類由一個Feature和一個lonlat組成。Format:此類用于讀/寫各種格式的數(shù)據(jù),它的子類都分別創(chuàng)建了各個格式的解析器。這些格式有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(WellKnownText)。Geometry:怎么翻譯呢,幾何?是對地理對象的描述。它的子類有Collection、Curve、LinearRing、LineString、MultiLineString、MultiPoint、MultiPolygon、Point、Polygon、Rectangle、Surface,正是這些類的實例,構成了我們看到的地圖。需要說明的是,Surface類暫時還沒有實現(xiàn)。Handler:這個類用于處理序列事件,可被激活和取消。同時,它也有命名類似于瀏覽器事件的方法。當一個handler被激活,處理事件的方法就會被注冊到瀏覽器監(jiān)聽器listener,以響應相應的事件;當一個handler被取消,這些方法在事件監(jiān)聽器中也會相應的被取消注冊。Handler通過控件control被創(chuàng)建,而control通過icon表現(xiàn)。Icon:在計算機屏幕上以圖標的形式呈現(xiàn),有url、尺寸size和位置position 3個屬性。一般情況,它與,表現(xiàn)為一個Marker。Layer:圖層。Map:網(wǎng)業(yè)中動態(tài)地圖。它就像容器,可向里面添加圖層Layer和控件Control。實際上,單個Map是毫無意義的,正是Layer和Control成就了它。Marker:通俗一點兒說,Icon附上一定的經(jīng)緯度就是Marker。它們的組合關系是:Popup:地圖上一個小巧的層,實現(xiàn)地圖“開關”功能。使用例子:Class=new(chicken,new(5,40),new(200,200),examplepopup,true)。(popup)。Renderer:渲染類。在OpenLayers中,渲染功能是作為矢量圖層的一個屬性存在的,我們稱之為渲染器,矢量圖層就是通過這個渲染器提供的方法將矢量數(shù)據(jù)顯示出來。以SVG和VML為例,繼承關系是這樣的:至于OpenLayers.Renderer.Elements為什么要存在,以及它的渲染機制,后面會說。Tile:設計這個類用于指明單個“瓦片”Tile,或者更小的分辨率。Tiles存儲它們自身的信息,比如url和size等。它的類繼承關系如下:Util:“跑龍?zhí)住钡念悺懙竭@里,可以看到OpenLayers的類纏繞的挺麻煩的,接下來的文章將從代碼部分分析更細部的東西。 BaseTypes:定義底層類與定制JS內(nèi)置類先說基類型BaseTypes下,OpenLyers構建的“自己”的類。它們分別是:、。下面分別介紹:OpenLayers.LonLat:經(jīng)緯度類,其實例為地圖提供一經(jīng)度、緯度對,即位置。有兩個屬性lon(xaxiscoodinate)和lat(yaxiscoordinate)。這里說明一下,怎么經(jīng)緯度又與x軸坐標、y軸坐標糾纏在一起?是這樣:當?shù)貓D是在地理坐標投影下,它就是經(jīng)緯度;不然就是地圖上的x/y軸坐標。除構造函數(shù)外,實現(xiàn)了五個函數(shù):toShortString:function()  把坐標轉換為字符串;clone:function()   復制一個LonLat對象;Add:function(lon,lat)   改變現(xiàn)有地圖的位置;returnnew(+lon,+lat)。equals:function(ll)   判斷傳入的lon,lat對是否與當前的相等;wrapDateLine:function(maxExtent) 復制下(lon,lat),指定為邊界的最大范圍。: 像素類,在顯示器上以(x,y)坐標的的形式呈現(xiàn)像素位置。有兩個屬性x坐標、y坐標,提供四個成員函數(shù):clone:function() 拷貝像素;equals:function(px) 判斷兩像素是否相等;add:function(x,y)  改變(x,y)使其成為新像素;returnnew(+x,+y)。offset:function(px)   調(diào)用add()使像素位置發(fā)生偏移。newPx=(,)。:也有兩個屬性,寬度width、高度height。實現(xiàn)了兩個成員函數(shù):clone:function()和equals:function(sz)不多說了。:在這個名稱空間下,開發(fā)者寫了好多API,有visible、toggle、hide、show、remove、getHeight、getDimensions和getStyle,以實現(xiàn)元素的顯示、隱藏、刪除、取得高度,取得范圍等功能。以getHeight函數(shù)為例我們看看它的代碼:/***APIFunction:getHeight**Parameters:*element{DOMElement}**Returns:*{Integer}Theoffsetheightoftheelementpassedin*/getHeight:function(element){el
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1