<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
     
    Openlayers項目開發完成后,需要將系統從開發環境轉移到生產環境。

    開發環境下,Openlayers框架由上百個獨立的javascript程序文件組成,通過lib目錄中的Openlayers.js
    動態加載,便于各個功能模塊的開發調試。

    Openlayers是一個非常龐大的Web地圖客戶端應用框架,提供了很多功能模塊,通常在開發過程中不會用到全部模塊。
    將系統中用到的獨立javascript程序庫組織成一個Openlayers.js文件,可以減少代碼冗余,加快加載速度,
    同時也便于對代碼進行壓縮和重編碼,在一定程度上保護軟件產品。

    Openlayers提供了代碼組合和壓縮工具,在build目錄下,使用Python腳本實現。運行該工具,需要安裝Python解釋器。
    build文件夾中提供了三種預設的配置文件,它們是:
    full.cfg    組合全部代碼
    library.cfg 組合主要代碼
    lite.cfg    組合最小代碼
    項目配置文件建議使用library.cfg或lite.cfg為模板編寫。
    配置文件中定義了四種作用不同的標簽:
    [first]    最前執行的代碼文件
    [last]     最后執行的代碼文件
    [include]  在預設配置中加入的代碼文件列表
    [exclude]  從預設配置中去除的代碼文件列表
    修改[include]和[exclude]項,生成項目配置文件。

    在命令提示符下,輸入python build.py mycfg my.js(如果是windows系統,請將python.exe加入系統Path路徑)
    生成的my.js就是生產版本的Openlayers庫文件,將my.js部署到生產環境,測試各項功能是否運行正常。

    build過程對代碼文件做了壓縮處理,壓縮率在40%左右,程序結構沒有做任何改動。
    如果你想保護自己的代碼,建議使用其他工具進行二次處理,這里推薦Google的Jscompiler,Google的很多項目都使用該工具進行代碼壓縮和優化。

    Google Jscompiler的使用方法:
    從http://code.google.com/intl/zh-CN/closure/compiler/下載最新版本。
    Google Jscompiler采用Java編寫,需要安裝Java 6.0運行時或開發包,如果沒有安裝請到Oracle網站下載。
    解壓下載的zip包,生成compiler-latest目錄,其中compiler.jar是主程序,幫助包含在README中。

    執行Google Jscompiler請新打開一個命令提示符窗口,輸入:
    java -jar compiler.jar --help 顯示所有可選參數說明。
    壓縮編碼單個javascript程序文件,請使用下面的命令:
    java -jar compiler.jar --js=in.js --js_output_file=out.js
    壓縮合并多個javascript程序文件,請使用下面的命令:
    java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js

    經過Google Jscompiler處理后的Openlayers庫文件可以再減少20-30%的大小,生成的文件經過測試沒有任何問題。
    Google Jscompiler會自動對代碼進行分析,自動篩選出邏輯上不可能到達的代碼,給出提示。
    Google Jscompiler會對代碼邏輯流程重新組合和優化,提高瀏覽器上的執行效率。
    經過Google Jscompiler重新編碼后,Web客戶端的運行速度有明顯提升。

    posted @ 2010-08-04 14:44 天狼 閱讀(3498) | 評論 (1)編輯 收藏
    第三步:加入GeoTools類庫
    使用Eclipse打開example工程下的pom.xml文件,替換成以下內容并保存:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.geotools.demo</groupId>
     <artifactId>example</artifactId>
     <packaging>jar</packaging>
     <version>1.0-SNAPSHOT</version>
     <name>example</name>
     <url>http://maven.apache.org</url>
     <properties>
      <geotools.version>2.6.3</geotools.version>
     </properties>
     <dependencies>
      <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
      </dependency>
      <dependency>
       <groupId>org.geotools</groupId>
       <artifactId>gt-main</artifactId>
       <version>${geotools.version}</version>
      </dependency>
     </dependencies>
     <repositories>
      <repository>
       <id>maven2-repository.dev.java.net</id>
       <name>Java.net repository</name>
       <url>http://download.java.net/maven/2</url>
      </repository>
      <repository>
       <id>osgeo</id>
       <name>Open Source Geospatial Foundation Repository</name>
       <url>http://download.osgeo.org/webdav/geotools/</url>
      </repository>
     </repositories>
    </project>

    不要關閉Eclipse,回到“命令提示符”窗口,在工程目錄下鍵入mvn eclipse:eclipse,
    例如: F:\project\example>mvn eclipse:eclipse
    等待執行完成。

    其間Maven會自動下載GeoTools的gt-main類庫,請保持網絡連接。

    切換到Eclipse,使用refresh命令刷新example工程,你可以看到GeoTools已經加入工程中。

    打開geotools.demo.example.App類,做如下修改:
     public static void main( String[] args )

            System.out.println( "Hello GeoTools:" + GeoTools.getVersion() );
    }

    編譯執行,如果看到 Hello GeoTools:2.6-3,恭喜你!大功告成!

    第四步:加入繪圖界面和Shape插件

    打開pom.xml文件,在 <dependencies></dependencies>之間加入以下內容:
    <dependency>
       <groupId>org.geotools</groupId>
       <artifactId>gt-shapefile</artifactId>
       <version>${geotools.version}</version>
      </dependency>
      <dependency>
       <groupId>org.geotools</groupId>
       <artifactId>gt-epsg-hsql</artifactId>
       <version>${geotools.version}</version>
      </dependency>
      <dependency>
       <groupId>org.geotools</groupId>
       <artifactId>gt-swing</artifactId>
       <version>${geotools.version}</version>
      </dependency>

    不要關閉Eclipse,回到“命令提示符”窗口,執行:F:\project\example>mvn eclipse:eclipse
    其間Maven會自動下載GeoTools類庫,請保持網絡連接。

    執行完成后,切換到Eclipse,使用refresh命令刷新example工程。
     
    運行QuickStart類,如果demo路徑中沒有找到Quickstart.java,可以自己創建。
    源文件在http://svn.osgeo.org/geotools/tags/2.6.3/demo/example/src/main/java/org/geotools/demo/Quickstart.java 直接復制代碼,編譯運行即可。

    中文亂碼問題
    用QuickStart打開shape文件,如果文件中包含中文屬性信息,中文將無法正確顯示,這是GeoTools和GeoServer的常見問題。
    在這里,不需要更改ShapefileDataStore類的源代碼,我們可以直接修改QuickStart類,
        FileDataStore store = FileDataStoreFinder.getDataStore(file);
    FeatureSource featureSource = store.getFeatureSource();
    
    更改為
        ShapefileDataStore shpDataStore=new ShapefileDataStore(file.toURL());
        shpDataStore.setStringCharset(Charset.forName("GBK"));
        FeatureSource featureSource = shpDataStore.getFeatureSource();
    即可顯示漢字。

    posted @ 2010-05-18 16:12 天狼 閱讀(3407) | 評論 (3)編輯 收藏
    Geotools官方網站上有一個很好Quickstart教程 http://geotools.org/quickstart.html
    通過學習該教程,可以快速生成開發環境,我們選擇Eclipse作為集成開發工具。

    第一步:安裝和配置Java和Maven
    這部分屬于常識性內容,Quickstart沒有詳細說明。
    下載Java SDK 1.5或1.6,運行安裝程序自動安裝。手工設置JAVA_HOME環境變量,指向Java SDK安裝目錄。
    下載Maven,當前版本是2.2.1(必須使用2.1以上版本),解壓到硬盤指定目錄。將Maven所在目錄手工添加到PATH環境變量中。

    檢查JDK和Maven是否安裝,打開“命令提示符”窗口,鍵入mvn -version,
    例如:F:\project\example>mvn -version
    如果返回以下信息,說明JDK和Maven正確安裝。
    Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
    Java version: 1.6.0_03
    Java home: C:\Program Files\Java\jdk1.6.0_03\jre
    Default locale: zh_CN, platform encoding: GBK OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
    如果返回錯誤信息,請檢查環境變量是否設置正確。

    第二步:設置工程文件目錄
    回到“命令提示符”窗口,轉到工程起始目錄下,鍵入mvn archetype:generate,
    例如 F:\project>mvn archetype:generate
    等待執行完畢。在此過程中Maven會創建工程文件和目錄,并自動通過互聯網下載需要的庫文件,請保持網絡連接。

    運行到快要結束時,需要填入幾個參數:
    1、輸入文檔類型:選擇默認的快速啟動文檔類型 15。注:Maven 2.2.1版本的默認值不是15,可以使用新默認值。
    2、填入以下值:
    groupId: org.geotools.demo
    artifactId: example
    version: 1.0-SNAPSHOT
    package: org.geotools.demo.example
    回到“命令提示符”窗口,按下面操作:
    F:\project>cd example
    F:\project\example>mvn eclipse:eclipse
    等待執行完成。

    啟動Eclipse,打開Windows>Preferences菜單,找到Java>Build Path>Classpath Variables配置頁面,添加一個新類路徑,鍵入名稱M2_REPO,加入類文件路徑。
    對于Windows XP在C:\Documents and Settings\<當前用戶名>\.m2\repository,對于Windows Vista在: C:\Users\<當前用戶名>\.m2\repository,
    對于Linux和Mac在: ~/.m2/repository

    導入剛才創建的example工程,選擇File>Import菜單,選“Choose Existing Projects into Workspace”, 單擊Next按鈕,選擇工程路徑F:\project\example,完成。
    posted @ 2010-05-18 16:00 天狼 閱讀(5144) | 評論 (4)編輯 收藏
    Google Maps基站定位
    (轉載至http://www.cnblogs.com/psunny/archive/2009/10/22/1587779.html)

    如果你在你的手機裝過Google Mobile Maps,你就可以發現只要你的手機能連接GPRS,即使沒有GPS功能,也能定位到你手機所在的位置, 只是精度不夠準確。在探討這個原理之前,我們需要了解一些移動知識,了解什么是MNC/LAC/Cell ID。
    • Mobile Network Code(MNC)
      移動網號碼,中國聯通CDMA系統的MNC為03,中國移動的為00。
    • Mobile Country Code(MCC)
      移動用戶所屬國家代號:460
    • Location Area Code(LAC)
      地區區域碼,用來劃分區域,一般一個小地方就一個LAC,大地方就
    • Cell Tower ID(Cell ID)
      CellID代表一個移動基站,如果你有基站數據,查CellID你就可以知道這個基站在哪里,移動公司或者警察通過這個知道你是在哪個基站范圍打的移動電話。

    這些信息有什么用呢? 通過這些信息可以知道你的手機是從哪個國家,區域和哪個基站接入移動網絡的。所以有些防盜手機丟失后,會發一些類 似"MCC:460;MNC:01;LAC:7198:CELLID:24989"內容的短信到你指定號碼就是這個用途,通過這些信息可以從移動查到你的 被盜手機在哪里出現過。不過知道了也沒用,中國人口這么密集,就是在你身邊你也不知道誰是小偷:) 

      這些信息從哪里來呢,一般的手機系統都提供相應的API來獲取這些信息(Tower Info),比如Window SmartPhone 或Mobile就是通過RIL.dll里的API來取得,每個手機操作系統不一樣,相關的信息可以查相關資料。

    得到了這些信息,如果沒有基站信息表,得到了這些信息也不知道在哪,因為只有移動運營商有相關的信息,除非你是運營商或者警察才能得到這些信息。是 不是我們就查不到相應的數據呢,當然不是,強大的Google就有,這里就要提到Google Mobile Maps API,里面囊括了比較全的基站信息,中國的也有,就是偏遠地區的有沒有就不知道了。Google Mobile Maps本身就是使用的這些信息,感興趣可以試一試,沒有GPS模塊也能定位到你手機位置,但精度不大,取決于基站的位置離你多遠。

      同樣我們自己也可以開發相應的手機應用來定位,只要調用Google現成的API(Secret API)“.

  • 首先讀取你自己手機的CellID和LAC。
  • 通過Http連接發送Post請求到http://www.google.com/glm/mmap
  • 傳入CellID和LAC參數,從API返回基站的經緯度(Latitude/Longitude)。
  • 另外有個可以參考的例子(windows mobile)http://www.codeproject.com/KB/mobile/DeepCast.aspx

       下面是通過j2me獲取手機imei號碼和cellid(基站號)的例子

    package jizhan;
    import javax.microedition.lcdui.Command;
    import javax.microedition.lcdui.CommandListener;
    import javax.microedition.lcdui.Display;
    import javax.microedition.lcdui.Displayable;
    import javax.microedition.lcdui.Form;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeException;

    public class GetIMEIAndCellId extends MIDlet implements CommandListener {
        
    private Command exitCommand = new Command("exit", Command.EXIT, 1);

         Form form 
    = new Form("imei and cellid");
         Display display 
    = null;

        
    public GetIMEIAndCellId() {
             display 
    = Display.getDisplay(this);

         }


        
    protected void destroyApp(boolean arg0) {

         }


        
    protected void pauseApp() {

         }


        
    protected void startApp() throws MIDletStateChangeException {
            
    //獲取系統信息
             String info = System.getProperty("microedition.platform");
            
    //獲取到imei號碼
             String imei = "";
            
    //cellid
             String cellid = "";
            
    //lac
             String lac = "";
            
    // #if polish.vendor==Sony-Ericsson
             imei = System.getProperty("com.sonyericsson.imei");
            
    //參考 http://forums.sun.com/thread.jspa?threadID=5278668
            
    //https://developer.sonyericsson.com/message/110949
             cellid = System.getProperty("com.sonyericsson.net.cellid");
            
    //獲取索愛機子的
             lac = System.getProperty("com.sonyericsson.net.lac");
            
    // #else if polish.vendor==Nokia
             imei = System.getProperty("phone.imei");
            
    if (imei == null || "".equals(imei)) {
                 imei 
    = System.getProperty("com.nokia.IMEI");
             }

            
    if (imei == null || "".equals(imei)) {
                 imei 
    = System.getProperty("com.nokia.mid.imei");
             }

            
    //獲取到cellid
            
    //參考http://wiki.forum.nokia.com/index.php/CS000947_-_Getting_Cell_ID_in_Java_ME
            
    // #if polish.group==Series60
             cellid = System.getProperty("com.nokia.mid.cellid");
            
    // #else if polish.group==Series40
             cellid = System.getProperty("Cell-ID");
            
    // #endif
            
    // #else if polish.vendor==Siemens
             imei = System.getProperty("com.siemens.imei");
            
    // #else if polish.vendor==Motorola
             imei = System.getProperty("com.motorola.IMEI");
            
    //cellid 參考 http://web.mit.edu/21w.780/www/spring2007/guide/
             cellid = System.getProperty("CellID");
            
    // #else if polish.vendor==Samsung
             imei = System.getProperty("com.samsung.imei");
            
    // #endif

            
    if (imei == null || "".equals(imei)) {
                 imei 
    = System.getProperty("IMEI");
             }


            
    //展示出來
             form.append("platforminfo:" + info);
             form.append(
    "imei:" + imei);
             form.append(
    "cellid:" + cellid);
             form.setCommandListener(
    this);
             form.addCommand(exitCommand);
             display.setCurrent(form);
         }


        
    public void commandAction(Command cmd, Displayable item) {
            
    if (cmd == exitCommand) {
                 destroyApp(
    false);
                 notifyDestroyed();
             }

         }


    }

      需要注意的是,必須是受信任的Midlet才可以取到這些數據。也就是說Midlet必須經過簽名上述代碼才可以工作,否則獲取到的是NULL。。
    下面是從別的地方看來的,沒做過測試,供參考。
    a) Nokia = System.getProperty("com.nokia.mid.imei");
    System.getProperty("com.nokia.IMEI");
    System.getProperty("phone.imei");
    b) Samsung
    System.getProperty("com.samsung.imei");
    c) Sony-Ericsson
    System.getProperty("com.sonyericsson.imei");

    IMSI: IMSI全稱是International Mobile Subscriber Identification Number,移動用戶身份碼。當手機開機后,在接入網絡的過程中有一個注冊登記的過程,系統通過控制信道將經加密算法后的參數組傳送給客戶,手機中的 SIM卡收到參數后,與SIM卡存儲的客戶鑒權參數經同樣算法后對比,結果相同就允許接入,否則為非法客戶,網絡拒絕為此客戶服務。IMSI唯一的標志了 一個SIM卡。
    IMEI: IMEI即International Mobile Equipment Identity(國際移動設備身份)的簡稱,也被稱為串號,它唯一標志了一臺移動設備,比如手機。 IMEI碼一般由15位數字組成,絕大多數的GSM手機只要按下“*#06#”,IMEI碼就會顯示出來。其格式如下: TAC即Type Approval Code,為設備型號核準號碼。FAC即Final Assembly Code,為最后裝配號碼。 SNR即Serial Number,為出廠序號。 SP即Spare Number,為備用號碼。  

      有時候,我們在應用中需要獲取IMSI或者IMEI號用于將應用程序和手機或SIM卡綁在一起。獲取的方式在各不同廠商的各款手機上不盡相同,在motorola RAZR E6   上采用System.getProperty()獲取。相應程序代碼是:

                 String imei= System.getProperty("IMEI"); //for E6
                 if ( null == imei )
                     imei = System.getProperty("phone.IMEI");
                
                 String imsi = System.getProperty("IMSI"); //for E6
                 if ( null == imsi )
                     imei = System.getProperty("phone.IMSI");
                
                 g.drawString("IMEI: "+imei, 10, 50, Graphics.LEFT | Graphics.TOP);

                 g.drawString("IMSI: "+imsi, 10, 70, Graphics.LEFT | Graphics.TOP);

    參考地址:
    http://blog.csdn.net/phiger/archive/2009/07/22/4371922.aspx
    http://hi.baidu.com/lfcomputer/blog/item/0520e0d37a410a3c970a16c1.html
    http://wiki.forum.nokia.com/index.php/CS000947_-_Getting_Cell_ID_in_Java_ME
    posted @ 2009-12-03 16:30 天狼 閱讀(2988) | 評論 (4)編輯 收藏
    不需要安裝任何插件,使用openlayers 2.8可在Web頁面上實現高級編輯功能。

    作為一個功能強大的WebGIS客戶端,openlayers提供了添加、刪除點、線、面的功能。
    對于節點捕獲、分割、旋轉等高級編輯功能,openlayers也提供了相應的例子。

    節點捕獲的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/snapping.html
    分割的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/split-feature.html
    節點捕獲和分割的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/snap-split.html
    旋轉、縮放的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/modify-feature.html
    控制縮放的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/resize-features.html
    動畫旋轉的例子 http://dev.openlayers.org/releases/OpenLayers-2.8/examples/rotate-features.html



    posted @ 2009-11-20 15:14 天狼 閱讀(2204) | 評論 (0)編輯 收藏

    給圖層添加高度數據,需要根據實體幾何類型分別處理。對于面,例如行政區界或建筑物,需要創建一個高度模板文件。
    對于線(點),例如架空電纜,高程將直接從圖形數據中讀取。
    GeoServer 1.7.1及以上版本支持輸出三維面的KML(KMZ),1.7.6及以上版本支持輸出三維線(點)的KML(KMZ)。

    發布三維面圖層:

    用Geoserver發布三維面的過程非常簡單,測試中我們使用Geoserver自帶的示例圖層topp:states。

    1、用記事本新建一個文本文件(高度模板文件),命名為height.ftl
    2、在文件中加入一行腳本,格式為${ATTRIBUTE.value},ATTRIBUTE是屬性字段的名稱。
    例如states圖層有屬性字段PERSONS,記錄每個州的人口,輸入${PERSONS.value?number/100},把高度和人口數建立關系。
    3、將height.ftl復制到Geoserver的/data/featureTypes/states/目錄下
    4、進入Geoserver地圖預覽頁面,找到topp:states,選擇KML,打開Google Earth瀏覽效果。

    效果圖1



    官方原文見:http://geoserver.org/display/GEOSDOC/04-Height+Templates

    作為練習,可以根據官方文檔
    http://demo.opengeo.org:8080/display/GEOSDOC/05-Super+Overlays+and+Extrudes+with+Building+Data,
    發布紐約曼哈頓的建筑物,瀏覽三維城市效果。

    效果圖2



    發布三維線圖層:

    三維線不使用height.ftl文件,因為一條線有兩個以上的節點,每個節點可能有不同的高度值,高程直接存放在圖形數據(Geometry)的Z坐標中。
    Oracle Spatial、PostgreSQL(PostGIS)等數據庫都支持存儲三維坐標。

    Geoserver可以直接發布三維線,測試中使用Oracle Spatial(10g)和PostgreSQL(8.3)作為數據源。
    1、在Oracle Spatial(10g)或PostgreSQL(8.3)中存入包含Z坐標的三維線數據,作為測試,可用直接SQL語句插入數據。
    2、在Geoserver中發布該圖層。
    3、進入Geoserver地圖預覽頁面,找到剛才發布的圖層,選擇KML,打開Google Earth瀏覽效果。

    需要注意的是,默認KML(KMZ)在Google Earth中的實際效果是三維面。
    經過查閱KML文檔,要實現三維線,需要在KML鏈接后加上可選參數format_options=extrude:0,例如將
    http://192.98.151.200:8080/geoserver/wms/kml?layers=topp:TESTL
    改為
    http://192.98.151.200:8080/geoserver/wms/kml?layers=topp:TESTL&format_options=extrude:0

    效果圖3


    Google KML Version 2.2已經獲得OGC批準,成為國際標準的數據存儲格式。ESRI、INTERGRAPH、MAPINFO在其最新版本軟件中提供KML格式輸出支持。
    Google定義的KML不僅可以包含三維高程數據,還能加入四維時間數據。

    本文只涉及三維數據的發布和展示,相關技術文檔請參考Google KML和Geoserver KML頁面。
    Google KML頁面:http://code.google.com/apis/kml/documentation/
    Geoserver KML頁面:http://geoserver.org/display/GEOSDOC/KML+KMZ+Output http://geoserver.org/display/GEOSDOC/Google+Earth+Features
    本文涉及的軟件環境為:Geoserver 1.7.7、Geoserver 2.0、Google Earth 5.1、Oracle 10.2.0.3、PostgreSQL 8.3.7

    posted @ 2009-10-27 10:40 天狼 閱讀(6754) | 評論 (2)編輯 收藏
    2009年10月23日 Geoserver 2.0 正式發布
    posted @ 2009-10-26 15:55 天狼 閱讀(375) | 評論 (0)編輯 收藏

    一.安裝postgis

      (1)首先到postgresql的官方網站(www.postgresql.org)上下載最新版的開源數據庫postgresql,我當前下載的最新安裝包是postgresql-8.3.6-1-windows.exe

      (2)運行該exe,按照向導安裝之,在安裝過程中最好關閉防火墻,以及監控;另外最好將安裝目錄設置為NTFS分區的盤上.

      (3)安裝完成后提示你是否在退出時配置application stack builder,這里購選上它,然后點finish

      (4)進入application stack builder向導后,選擇postgresql 8.3 on port 5432,點next

      (5)在application list中溝選中你要安裝的application,這里必須溝選postgis-pg83-setup-1.3.5-1.exe

      (6)下一步,選擇下載服務器,下載完成后開始安裝相應的application

      (7)在安裝時要注意,有兩處都要設置密碼,不要設置密碼為空.

      (8)這樣根據向導就可以成功安裝postgis了

      安裝postgis過程中可能會出現"Error opening file for writing:
    c:\program files\PostgreSQL\8.3\bin\libiconv-2.dll"的提示,這里我們可以忽略之

    二.向postgis導入shapefile數據

      (1)安裝后運行pgadmin III,右擊postgresql 8.3(localhost)服務器,連接之,這里的密碼是你安裝時設置的密碼,務必牢記

      (2)連接后,我們發現postgis安裝后自動給我們生成了一個數據template_postgis,我們將要導入的數據就需要放到這個數據庫中.

      (3)運行命名提示符cmd.exe,將其轉向C:\Program Files\PostgreSQL\8.3\bin(或者將cmd.exe復制到該目錄下)如下:

        C:\Program Files\PostgreSQL\8.3\bin>

      (4)首先將shp生成對應的sql腳本,鍵入以下字符

         C:\Program Files\PostgreSQL\8.3\bin>shp2pgsql -W "GBK" D:\CampusGISProject\new_p
    ku_vector\viwpt.shp viwpt > D:\CampusGISProject\new_pku_vector\viwpt.sql

         這里的-W "GBK"代表字符編碼的轉換,D:\CampusGISProject\new_pku_vector\viwpt.shp則是要生成sql腳本的 shp文件.viwpt是創建數據表的表名,>不能少,D:\CampusGISProject\new_pku_vector \viwpt.sql則是要生成SQL文件的絕對目錄

         生成成功后命令提示符會顯示如下:

         Shapefile type: Point
         Postgis type: POINT[2]

      (5)然后我們執行sql語句,執行該SQL語句文件,導入數據到數據庫template_postgis中

         C:\Program Files\PostgreSQL\8.3\bin>psql -d template_postgis -f D:\CampusGISProj
    ect\new_pku_vector\viwpt.sql postgres

         其中 template_postgis是數據庫名,postgres是該數據庫的用戶

         執行成功后,刷新該數據庫,就可以看到新生成的數據表viwpt

       這樣viwpt.shp數據就成功導入到了postgis中了
    posted @ 2009-10-20 15:00 天狼 閱讀(838) | 評論 (0)編輯 收藏
    從MapGuide官方網站(https://mapguide.osgeo.org)下載MapGuide Open Source Windows安裝包
    MgServerSetup-2.0.2.3011.exe
    MgWebServerExtensionsSetup-2.0.2.3011.exe
    安裝包中已經包含了apache和tomcat,但是沒有包含Java SDK。需要單獨安裝Java SDK 5.0以上版本,并設置JAVA_HOME和JRE_HOME環境變量。

    安裝MapGuide Server和MapGuide Web Server Extensions,安裝時選擇Java環境,另外兩種環境是PHP和DOTNET。
    下載java環境示例文件javaviewersample.zip,解壓到 MapGuideOpenSource安裝目錄\WebServerExtensions\www 目錄下,
    在解壓后的文件夾 javaviewersample 找到文件 readme.txt,按其中的說明進行配置,注意修改路徑。
    進入 MapGuideOpenSource安裝目錄\WebServerExtensions\Tomcat\bin 目錄,執行 startup.bat,啟動Tomcat。
    如果Tomcat無法啟動,檢查Java環境變量是否正確。

    下載示例數據包 Sheboygan.mgp,復制到 MapGuideOpenSource安裝目錄\Server\Packages 目錄下。
    打開站點管理程序,地址為 http://ip:8008/mapguide/mapadmin/login.php,登錄用戶名Administrator,密碼admin,注意大小寫。
    如果輸入了正確的用戶名和密碼,仍然無法登錄,檢查MapGuide Server服務是否運行。

    選擇管理頁面左側的導航條,選擇ManagePackages,然后在右側列表選中Sheboygan.Mgp,點擊Load Package標簽,等待Package加載完成。
    注意:如果IP地址為127.0.0.1或localhost,可能無法執行Load Package命令。

    在瀏覽器中輸入 http://ip:8008/mapguide/javaviewersample/ajaxtiledviewersample.jsp, 查看運行效果。


    posted @ 2009-08-31 15:19 天狼 閱讀(1642) | 評論 (0)編輯 收藏

    將 Oracle Spatial 與 Google Earth 集成

    此篇文章將向您展示如何使用Oracle Locator/Oracle Spatial、GeoServer 和Google Earth 創建具有定位功能的強大的無縫商務智能系統。最后,我希望您在閱讀完本練習之后 ...
    官方鏈接:http://www.oracle.com/technology/global/cn/pub/articles/lokitz-spatial-geoserver.html


    posted @ 2009-08-20 21:19 天狼 閱讀(471) | 評論 (0)編輯 收藏
    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 桃子视频在线观看高清免费视频| 亚洲天堂中文字幕| 又粗又大又黑又长的免费视频 | 国产妇乱子伦视频免费| 黄色视频在线免费观看| 337p日本欧洲亚洲大胆人人 | 久久国产乱子伦精品免费一 | 中文字幕亚洲乱码熟女一区二区 | 亚洲91精品麻豆国产系列在线| 亚洲日韩中文字幕在线播放| 国产精品免费视频网站| 中文字幕无码免费久久99| 最近中文字幕电影大全免费版 | 国产av天堂亚洲国产av天堂| 亚洲国产免费综合| 四虎影院免费在线播放| 手机看黄av免费网址| 日本免费xxxx色视频| 每天更新的免费av片在线观看| 青青操视频在线免费观看| 久久免费99精品国产自在现线| 黄色免费网址在线观看| 国产精品亚洲综合网站| www亚洲精品久久久乳| 亚洲av无码专区国产不乱码 | 亚洲成年看片在线观看| 免费永久国产在线视频| 免费大学生国产在线观看p| 国产精品无码一二区免费| 国产国产成年年人免费看片| 国产hs免费高清在线观看| 国产乱色精品成人免费视频| 免费亚洲视频在线观看| 亚洲av无码专区在线观看素人| 亚洲国产综合精品中文字幕 | 国产精品亚洲专区无码唯爱网 | 国产精品亚洲w码日韩中文| 久久久无码精品亚洲日韩软件| 亚洲色偷偷狠狠综合网| 亚洲熟妇无码AV在线播放| 亚洲AV人无码激艳猛片|