<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 90,  trackbacks - 0
     
    GeoWebCache是一個采用Java servlet實現緩存WMS(Web Map Service)地圖切片的開源項目。

    當地圖客戶端請求一張新地圖時,GeoWebCache將攔截這些調用,返回經過緩存切片處理的地圖文件,提高地圖顯示速度,減輕geoserver服務器的工作負荷,實現更好的用戶體驗。

    6月9日發布的geoserver 1.7.5 直接包含了geowebcache組件,不需要單獨安裝和配置,默認狀態下沒有開啟cache。

    開啟cache功能的步驟:
    1、在瀏覽器輸入地址 http://geoserver服務器ip:8080/geoserver/gwc,出現geowebcache頁面,加載圖層動態列表。
    2、在GeoWebCache頁面,選擇需要發布的圖層,單擊右邊的Seed this layer鏈接,選擇開始zoom和結束zoom,了解GeoWebCache工作原理的開發者,應該明白這兩個參數,提交請求。
    3、生成cache可能需要一段時間,可以用刷新列表查看進度。

    執行完畢后,可在Tomcat的\temp\geowebcache\目錄下找到切割成小塊的圖形文件。
    要查看結果,進入GeoWebCache頁面,選擇OpenLayers或Google Earth列上的鏈接。
    在openlayers中測試,地圖顯示速度有明顯提升。



    posted @ 2009-06-15 13:24 天狼 閱讀(7703) | 評論 (0)編輯 收藏
    AMD三核處理器無法安裝MSDE 2000 SP3,包括SQL Server200 SP3、SP4。

    CPU AMD Phenom X3 8450
    操作系統 Window XP SP2、SP3,Window Server 2003 SP1、SP2

    http://social.msdn.microsoft.com/forums/zh-TW/240/thread/bdabbd4f-f7f8-47fc-b502-fa439cdc8dc6/

    posted @ 2009-03-02 13:48 天狼 閱讀(662) | 評論 (0)編輯 收藏
    Oracle通過Windows防火墻的方法:

    1、在Windows防火墻上設置開放 TCP 1521端口(Oracle TNSListener),使用telnet oracle服務器ip 1521 測試端口是否開放;
    2、打開注冊表,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0,新建一個字符串值:USE_SHARED_SOCKET=true;
    3、修改Oracle數據庫操作模式,默認為“專用服務器模式”,修改為“共享服務器模式”。可以使用Database Configuration Assistant工具修改;
    4、重新啟動Oracle數據庫實例。

    在Windows2003server sp2和Oracle 9.2.0.4上測試通過。
    posted @ 2009-02-11 14:04 天狼 閱讀(762) | 評論 (3)編輯 收藏
    關注uDig這個開源項目已經很久了,uDig基于GeoTools核心和Eclipse平臺,定位于桌面GIS軟件。
    在0.x版本時期,uDig存在速度慢、bug多等很多問題。最近發布的1.1版本速度和穩定性有了極大提升,界面也非常漂亮。
    支持多種數據庫和網絡地圖服務接口,使用java的桌面GIS軟件開發者不妨一試。
     
    posted @ 2009-01-04 17:22 天狼 閱讀(2423) | 評論 (1)編輯 收藏
    http://219.153.20.6:8080/cqcbd/map.htm
    or
    http://www.cqcbd.gov.cn:8080/cqcbd/map.htm
    服務器在重慶電信機房。
    posted @ 2008-06-12 13:19 天狼 閱讀(1151) | 評論 (2)編輯 收藏
    google免費提供了數量巨大的衛星地圖資源。
    利用openlayers可以將google maps衛星地圖和我們自己的地圖合并在一起,當然自己地圖的坐標系必須正確,
    google maps使用標準的WGS84經緯度坐標。
    添加google maps衛星圖層分兩步完成。
    1、在htm頁面中引用google maps javascript庫:
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAgwXwXyUIfjoFVrD_utlccRRLOu__vN-h4YvLvUUNjkkj2EdVKBSWwGWJ6bCTmu6Mt9dUF86wrzrqNg"
          type="text/javascript"></script>
    注意:獲得key需要先注冊一個google帳號,然后申請一個免費google maps key,key和你的服務器ip綁定。
    2、在js腳本里添加以下幾句:
    try {
        var satellite = new OpenLayers.Layer.Google( "衛星圖" , {type: G_SATELLITE_MAP, 'maxZoomLevel':zoom} ); //zoom分為20級,可取0-19,顯示城市市區一般可取18  
        map.addLayer(satellite);
    } catch(e) {
        alert("無法連接到google maps,衛星地圖將不能顯示。"); //當網絡不正常時,處理異常。
    }
    注意:如果只使用openlayers開發,不需要使用google maps api。
    經google官方人士證實,google maps接口現在和將來都會一直免費提供,只要符合許可協議。

    posted @ 2007-12-21 16:53 天狼 閱讀(4120) | 評論 (2)編輯 收藏
    很好的交互性:前一個測試例子中,鼠標移動到單位標記上,可以彈出信息窗口,在窗口中顯示單位名稱。
    通過openlayers,可以獲得WFS圖層的feature對象,包括feature的屬性feature.attributes對象和feature的空間feature.geometry對象。feature.geometry對象提供多種屬性和方法。需要注意的是feature.attributes對象,它包含了所有的屬性信息。要得到屬性信息,請使用這樣的格式feature.attributes['cq:LNAME'],cq是geoserver中的數據倉庫名,LNAME是unit圖層中的一個屬性名,注意這里是嚴格區分大小的,是否支持中文字段沒有測試。
    重要提示:openlayer2.5版已經修正的屬性數據獲取方法,直接使用feature.attributes[屬性字段名],不再使用feature.attributes['cq:LNAME']。
    posted @ 2007-11-26 11:08 天狼 閱讀(3033) | 評論 (0)編輯 收藏
    openlayers提供了幾十個示例,雖然每個示例都很簡單,但卻很具有代表性,值得初學者學習。
    現在我想做一個測試,包含多個圖層、縮放條、工具條、鼠標位置、彈出窗口,其中圖層分別來自geoservr
    提供的WMS和WFS服務接口。
    主要代碼如下:
    樣式定義,定義地圖大小,工具條位置和替換按鈕圖片。
    <style type="text/css">
            #map {
                width: 640px;
                height: 475px;
                border: 1px solid black;
            }

            .olControlPanel div {
              display:block;
              position: absolute;
                        top: 0px;
                        left: 190px;
              width:  60px;
              height: 23px;
              margin: 5px;
            }
            .olControlPanel .olControlMouseDefaultsItemActive {
              background-image: url("/openlayers/img/Pan.gif");
            }
            .olControlPanel .olControlMouseDefaultsItemInactive {
              background-image: url("/openlayers/img/PanSelected.gif");
            }
            .olControlPanel .olControlZoomBoxItemInactive {
              width:  60px; 
              height: 23px;
              position: absolute;
                        top: 0px;
                        left: 250px;
              background-image: url("/openlayers/img/ZoomInSelected.gif");
            }
            .olControlPanel .olControlZoomBoxItemActive {
              width:  60px; 
              height: 23px;
              position: absolute;
                        top: 0px;
                        left: 250px;
              background-image: url("/openlayers/img/ZoomIn.gif");
            }
             .olControlPanel .olControlSelectFeatureItemInactive {
              width:  60px; 
              height: 23px;
              position: absolute;
                        top: 0px;
                        left: 310px;
              background-image: url("/openlayers/img/InfoSelected.gif");
            }
            .olControlPanel .olControlSelectFeatureItemActive {
              width:  60px; 
              height: 23px;
              position: absolute;
                        top: 0px;
                        left: 310px;
              background-image: url("/openlayers/img/Info.gif");
            }
        </style>
    JS代碼,核心部分。
    <script src="/openlayers/OpenLayers.js"></script>
        <script type="text/javascript">
            <!--
            //定義全局變量
            var map, layer, selectControl, selectedFeature;
            //關閉彈出窗口的函數
            function onPopupClose(evt) {
                selectControl.unselect(selectedFeature);
            }
            //構造彈出窗口的函數
            function onFeatureSelect(feature) {
                selectedFeature = feature;
                popup = new OpenLayers.Popup.Anchored("chicken",
                                         feature.geometry.getBounds().getCenterLonLat(),
                                         new OpenLayers.Size(250,75),
                                         "<div style='font-size:.8em'>" + feature.attributes['cq:LNAME'] +"</div>",
                                         null, true, onPopupClose);
                feature.popup = popup;
                map.addPopup(popup);
            }
            //銷毀彈出窗口的函數
            function onFeatureUnselect(feature) {
                map.removePopup(feature.popup);
                feature.popup.destroy();
                feature.popup = null;
            }
            //地圖和頁面加載函數
            function init(){
                //設置地圖縮放范圍和縮放等級,0級比例尺最小
                map = new OpenLayers.Map( $('map'), {  maxScale: 500, minScale: 500000, numZoomLevels: 5 });
                //加載行政區圖層,WMS柵格圖像
                layer = new OpenLayers.Layer.WMS( "District",
                        "http://192.98.151.17:8081/geoserver/wms", {layers: 'cq:GMAP_DISTRICT'} );
                map.addLayer(layer);
                //加載水系圖層,WMS柵格圖像
                layer = new OpenLayers.Layer.WMS( "Water",
                        "http://192.98.151.17:8081/geoserver/wms", {layers: 'cq:GMAP_LAKE', 'transparent': true, format: 'image/png' } );
                map.addLayer(layer);
                //加載單位圖層,WFS矢量數據,由openlayers在客戶端繪制,注意:數量太多會導致速度緩慢
                layer = new OpenLayers.Layer.WFS( "Unit",
                        "http://192.98.151.17:8081/geoserver/wfs", {typename: 'cq:GPOI_GOV'},
                   { 
                          typename: 'unit',
                          featureNS: 'http://www.openplans.org/cq',
                          extractAttributes: true,
                          maxfeatures: 10,
                          textAttrToDisplay: 'lname'
                   } );
                map.addLayer(layer);
                //在地圖上添加按鈕和工具條
                zb = new OpenLayers.Control.ZoomBox();
                var panel = new OpenLayers.Control.Panel({defaultControl: zb});
                selectControl = new OpenLayers.Control.SelectFeature(layer, {onSelect: onFeatureSelect, onUnselect: onFeatureUnselect, hover: true});
                panel.addControls([
                    new OpenLayers.Control.MouseDefaults(), zb, selectControl
                ]);
                map.addControl(panel);
              
                map.addControl(new OpenLayers.Control.PanZoomBar({zoomWorldIcon:false}));
                map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false}));
                map.addControl(new OpenLayers.Control.MousePosition());
                //設置初始地圖的中心坐標和縮放等級
                map.setCenter(new OpenLayers.LonLat(106.5, 29.5), 3);
               
            }
            // -->
        </script>
    HTML代碼
    <body onload="init()">
        <h1>OpenLayers Test</h1>
        <div id="panel"></div>
        <div id="map"></div>
        <textarea style="display:none" id="serialize" cols="96" rows="10"/>
      </body>

    posted @ 2007-11-26 10:58 天狼 閱讀(31658) | 評論 (15)編輯 收藏
    Geoserver 1.5.2 已于8月3日正式發布,項目組正邀請全球開發者測試。
    本次更新修正了70多個bug,可以想象工作量是非常大的!

    接下來進行升級測試,將現有系統(基于geoserver1.4.0, tomcat5.0.28, oracle9.2.0.4),升級到1.5.2。升級過程很簡單,替換文件即可。
    重新啟動tomcat,進入geoserver管理界面,沒有問題,原來的十幾個圖層加載成功。
    打開瀏覽器地圖客戶端,遲遲沒有地圖顯示出來,查看tomcat的運行log紀錄,出錯了:
    :380031 [嚴重] org.geotools.data.jdbc.JDBC1DataStore - Error Performing SQL query: SELECT "LNAME", "POPNAME", "CLASS", "DISTRICT", "ADDRESS", "TEL_NO", "MI_STYLE", "MI_PRINX", "GEOLOC", "CID", "TID", "PID", "HTTP_ADR", "RP_PID", "MEMO", "ID" FROM "GPOI_BANK" WHERE SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,8307,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(106.3398675279321,29.35768529955373,106.7158359115559,29.67623870044627)),'mask=anyinteract querytype=WINDOW') = 'TRUE'
    java.sql.SQLException: ORA-29902: 執行 ODCIIndexStart() 例行程序中出錯
    ORA-13373: 測量數據不支持類型為 Extent 的元素
    ORA-06512: 在"MDSYS.SDO_INDEX_METHOD_9I", line 368
    ORA-06512: 在line 1
    把查詢放到sqlplus中執行,錯誤依舊。仔細檢查查詢語句,發現MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3)和以前的版本不同,1.4是MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),錯誤原因就在1和3上。
    1表示直線聯結
    2表示弧線聯結
    3表示混合聯結,而oracle9i版本不支持3這個參數,所以出現"ORA-13373: 測量數據不支持類型為 Extent 的元素"錯誤。
    換用Oracle10g(10.2.0.1)測試,地圖可以正常顯示,沒有錯誤。
    知道問題原因就好辦了,改用以前的oracle插件一切ok。

    緊接著測試WCS接口,這是我最關心的功能。
    根據文檔和示例,先后添加了DEM(來自美國USGS)和Tiff衛星照片,客戶端顯示正常。
    DEM分級顏色通過dem.sld設定,無法實現三維瀏覽。
    Tiff文件預先配準,采用矢量圖層坐標系統。

    posted @ 2007-08-08 15:40 天狼 閱讀(1716) | 評論 (1)編輯 收藏
    最近忙著裝修房子,很久沒有更新博客了。

    6月9日,Geoserver 1.5.1正式發布,這是一個值得期待的版本。
    從Geoserver 1.4到1.5.1的升級過程比較簡單,沒有遇到特別的問題。
    地圖渲染速度沒有太大變化,沒有從1.3到1.4那種速度上的跳躍感。
    平臺變化:
    1、內核升級到Geotools2.3.2;
    2、支持多種格式的WCS發布,很有用的功能;
    3、引入OpenLayer,為客戶端開發提供一種新的選擇。
    開發者可以使用OpenLayer直接發布地圖,減少了開發工作量。相對而言,mapbuilder是一個強大又復雜的系統。
    測試中發現的問題:
    1、讀取oracle空間表,渲染地圖出現錯誤。
    分析原因:官方提供的oracle擴展包gt2-oracle-spatial-2.3.2.jar和驅動程序ojdbc14.jar在9i(9204)數據庫上有問題,ojdbc14.jar是10g的驅動程序。使用老版本的gt2-oracle-spatial和9i的JDBC驅動,問題解決。估計官方提供的oracle擴展包只適用于10g。
    2、對oracle空間表進行WFS查詢,返回的XML結果集有問題,導致WFS查詢失敗。
    例如某查詢應該返回:
    <gml:featureMember>
        <cq:CBD_BUILDING fid="CBD_BUILDING.161">
        <cq:ID>161</cq:ID>
        <cq:LNAME>都市廣場</cq:LNAME>
    實際返回的XML為:
    <gml:featureMember>
        <gml:CBD_BUILDING fid="CBD_BUILDING.161">
        <gml:ID>161</gml:ID>
        <gml:LNAME>都市廣場</gml:LNAME>

    PostGIS和ArcSDE沒有類似的bug。
    posted @ 2007-06-15 14:44 天狼 閱讀(1650) | 評論 (1)編輯 收藏
    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 在线观看H网址免费入口| 四色在线精品免费观看| 亚洲毛片无码专区亚洲乱| 国产精品美女午夜爽爽爽免费| 国产午夜亚洲精品不卡| 亚洲熟女少妇一区二区| 114一级毛片免费| 在线播放免费人成视频网站 | 免费a级毛片无码a∨性按摩| 一级特级女人18毛片免费视频 | 精精国产www视频在线观看免费| 亚洲高清在线播放| 国产小视频在线观看免费| 久久九九全国免费| 亚洲第一成年网站视频| 久久精品国产亚洲AV麻豆不卡| 女人18毛片水真多免费播放| 花蝴蝶免费视频在线观看高清版| 亚洲精品久久无码av片俺去也 | 乱人伦中文视频在线观看免费| 亚洲最大福利视频网站| 少妇亚洲免费精品| a毛片基地免费全部视频| 国产成人无码免费看片软件| 亚洲中文无码亚洲人成影院| 亚洲va无码专区国产乱码| 国产精品成人无码免费| 亚洲网站在线免费观看| A毛片毛片看免费| 国产成人精品久久亚洲高清不卡 | 国产黄在线观看免费观看不卡| 亚洲成电影在线观看青青| 中文字幕精品无码亚洲字 | 亚洲AV无码欧洲AV无码网站| 免费a级毛片永久免费| 国产免费的野战视频| 久久久精品免费国产四虎| 一个人免费观看日本www视频| 一本色道久久88亚洲精品综合| 图图资源网亚洲综合网站| 国产亚洲精品免费视频播放 |