隨筆-18  評(píng)論-20  文章-0  trackbacks-0
            2007年8月15日
               摘要:   閱讀全文
          posted @ 2007-08-25 13:26 JavaPoint 閱讀(1094) | 評(píng)論 (0)編輯 收藏
               摘要: ArcGis server,如何在Task中實(shí)現(xiàn) 下拉列表和 checkbox 和 radiobutton.
          ArcGis server教程系列  閱讀全文
          posted @ 2007-08-22 17:35 JavaPoint 閱讀(1851) | 評(píng)論 (2)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-18 15:46 JavaPoint 閱讀(3221) | 評(píng)論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-18 10:29 JavaPoint 閱讀(1718) | 評(píng)論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-18 10:23 JavaPoint 閱讀(624) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-17 09:44 JavaPoint 閱讀(748) | 評(píng)論 (0)編輯 收藏

          Java有多種方法可以分析XML文檔,你可以選擇現(xiàn)在已經(jīng)成熟的標(biāo)準(zhǔn)技術(shù),比如DOM和SAX,或者你可以選擇專(zhuān)用于處理XML的Java API (Java API for XML Processing,JAXP)。

          JAXP是一種專(zhuān)門(mén)提供XML文檔解析的Java接口,下面我們就來(lái)研究一下如何使用Apache Xerces-2 解析器來(lái)實(shí)現(xiàn)JAXP。

          工廠(chǎng)模式

          JAXP提供了一種DOM及SAX方式的解析器來(lái)處理XML文檔,也就是工廠(chǎng)模式。你選擇不同的工廠(chǎng)類(lèi)就會(huì)有不同的處理方法。工廠(chǎng)類(lèi)實(shí)際上是一個(gè)標(biāo)準(zhǔn)設(shè)計(jì)模式,你可以根據(jù)需要自行修改。

          利用JAXP,你可以使用DocumentBuilderFactory來(lái)建立自己的DocumentBuilder類(lèi),或者使用SAXParserFactory來(lái)建立自己的SAXParser類(lèi)。不同之處就在于DOM解析器是將整個(gè)文檔讀入內(nèi)存并允許你以隨機(jī)方式讀取文檔,而SAX解析器是通過(guò)呼叫句柄來(lái)解釋XML文檔數(shù)據(jù)的。下面我們仔細(xì)研究一下DocumentBuilder類(lèi)。

          DocumentBuilder類(lèi)

          通過(guò)在DocumentBuilderFactory類(lèi)中呼叫newDocumentBuilder方法,我們可以建立一個(gè)DocumentBuilder類(lèi)。你可以通過(guò)呼叫newInstance方法來(lái)建立多個(gè)DocumentBuilderFactory類(lèi)。

          例如,你可以這樣建立一個(gè)新的DocumentBuilderFactory類(lèi):

          DocumentBuilderFactorydbfactory = DocumentBuilderFactory.newInstance();

          一旦有了工廠(chǎng)類(lèi)的句柄,你就可以馬上建立一個(gè)DOM解析器的實(shí)例了。下面是建立代碼:

          DocumentBuilder builder = dbfactory. newDocumentBuilder();

          這樣我們就建立了一個(gè)真正的DocumentBuilder類(lèi)的實(shí)例。為了解析文檔,你必須調(diào)用DocumentBuilder類(lèi)的解析方法。解析方法會(huì)返回一個(gè)Document對(duì)象,就是你要操作的XML文檔。

          Listing A實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的利用DocumentBuilderFactory和DocumentBuilder類(lèi)的方法:

          Listing A:

          JAXPSample.java
          import javax.xml.parsers.*;
          import org.w3c.dom.*;

          public class JAXPSample {

            public static void main(String[] args) {
              String filename = "sample.xml";
                   
              try {
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder parser = factory.newDocumentBuilder();
                Document d = parser.parse(filename);
              }
              catch (Exception e) {
                System.err.println("Exception: " + e.getMessage());
              }
            
            }
          }

          DocumentBuilder類(lèi)其實(shí)就是一個(gè)DOM解析器。利用JAXP的DocumentBuilder類(lèi)的優(yōu)勢(shì)就在于它比其他XML解析器更輕便。

          真實(shí)的文檔

          當(dāng)通過(guò)DocumentBuilder接口使用DOM時(shí),解析器會(huì)返回一個(gè)Document類(lèi)。這個(gè)Document類(lèi)很重要,因?yàn)樗峭耆蟇3C標(biāo)準(zhǔn)的,這意味這你可以將這個(gè)Document類(lèi)和其他DOM解析器良好的結(jié)合起來(lái)。

          例如你可以通過(guò)以下代碼找回元素值:

          String getXMLValue(Document doc, String name) {     
               NodeListnlist=doc.getElementsByTagName(name);
               String value = nlist.item(0).getFirstChild().getNodeValue();
               return value;
          }

          這個(gè)方法用來(lái)尋找文檔內(nèi)與字符串一致的子節(jié)點(diǎn)。


           

          以Sun公司的JAXP為例來(lái)看看其中和DOM相關(guān)的包:

          DOM包結(jié)構(gòu)

             org.w3c.com:定義了DOM的接口。這是w3c所指制定的DOM規(guī)范,因?yàn)镈OM規(guī)范是與語(yǔ)言無(wú)關(guān)的,因而其中只是定義了接口,而沒(méi)有實(shí)現(xiàn)任何地類(lèi)。任何具體的DOM實(shí)現(xiàn)需要有其它的類(lèi)庫(kù)給出。

             javax.xml.parser:定義了DocumentBuilderFactory類(lèi)DocumentBuilder類(lèi)。編程時(shí)用DocumentBuilderFactory來(lái)生成一個(gè)具體的和具體的類(lèi)庫(kù)相聯(lián)系的DocumentBuilder類(lèi)的實(shí)例,然后再由這個(gè)DocumentBuilder對(duì)象來(lái)生成一個(gè)Document實(shí)例。Document對(duì)象中就包含了DOM的樹(shù)模型結(jié)構(gòu),是DOM模型的根。同SAXParserFactory一樣,具體的DocumentBuilder對(duì)象的建立,取決于一個(gè)環(huán)境變量javax.xml.parsers.DocumentBuilderFactory的值,同樣的,也可以直接把類(lèi)名傳遞給DocumentBuilderFactory來(lái)建立一個(gè)DocumentBuilder。

             com.sun.xml.tree:Sun的Java XML的DOM實(shí)現(xiàn),他對(duì)標(biāo)準(zhǔn)的DOM提供了一些擴(kuò)展,其中大部分的東西并不是DOM標(biāo)準(zhǔn)。包括了XMLDocument,ElementNode, XMLDocumentBuilder和TreeWalker等類(lèi)。XMLDocument類(lèi)實(shí)現(xiàn)了DOM的Document界面,它同樣也提供了靜態(tài)的工廠(chǎng)方法來(lái)建立一個(gè)Document對(duì)象。ElementNode類(lèi)代表了在一個(gè)DOM樹(shù)中的每一個(gè)節(jié)點(diǎn)元素,并且它經(jīng)常被繼承,來(lái)實(shí)現(xiàn)一些自定的功能。 而XMLDocumentBuilder實(shí)際上是一個(gè)DocumentHandler類(lèi)型的類(lèi),也就是說(shuō),它接受一個(gè)SAX解析器傳遞過(guò)來(lái)的事件,然后根據(jù)這些事件來(lái)在內(nèi)存中建立一個(gè)DOM模型。

          DOM處理過(guò)程

             DOM的處理過(guò)程相對(duì)SAX而言要簡(jiǎn)單些,先用DocumentBuilderFactory的靜態(tài)方法newInstance()建立一個(gè)DocumentBuilderFactory的實(shí)例,然后用它的newDocumentBuilder()方法建立一個(gè)DocumentBuilder。然后可以用DocumentBuilder的parser()方法來(lái)解析一個(gè)XML文檔并建立DOM模型。在JAXP中還提供了更為方便的功能擴(kuò)展,就是使用XMLDocument。你可以為一個(gè)SAX解析器注冊(cè)一個(gè)事件處理器XMLDocumentBuilder,在解析過(guò)后,可以調(diào)用XMLDocumentBuilder的getDocument()方法就可以把一個(gè)外在地XML文檔轉(zhuǎn)換成一個(gè)內(nèi)存中的DOM樹(shù)了,并生成一個(gè)Document(XMLDocument)對(duì)象,后面的工作,就是調(diào)用XMLDocument對(duì)象和ElementNode對(duì)象的各個(gè)方法來(lái)對(duì)DOM樹(shù)進(jìn)行操作了。最后,還可以調(diào)用XMLDocument的wirte()方法來(lái)把DOM樹(shù)輸出為XML文件。因?yàn)樵跇?biāo)準(zhǔn)的DOM模型中并沒(méi)有提供與write()相類(lèi)似的方法,所以要處理輸出的話(huà),用XMLDocument會(huì)更方便些。

          實(shí)例DOM

             下面我們可以來(lái)看看例子了。

          首先當(dāng)然是import語(yǔ)句:


             import javax.xml.parsers.DocumentBuilderFactory; 

             import javax.xml.parsers.FactoryConfigurationError; 

             import javax.xml.parsers.ParserConfigurationException;

             import javax.xml.parsers.DocumentBuilder;
             為了能給你更多的印象,我詳細(xì)內(nèi)出了所有的類(lèi),實(shí)際上你只需要一句就可以了:

          import javax.xml.parsers.*;

          你還需要的是W3C對(duì)DOM和DOM例外的定義:

          import org.w3c.dom.Document; import org.w3c.dom.DOMException;
          還有一些其他的用來(lái)進(jìn)行例外和I/O處理的類(lèi):


             import org.xml.sax.SAXException; 

             import org.xml.sax.SAXParseException;

             import java.io.File;

             import java.io.IOException;



             因?yàn)橐敵鯴ML文檔,所以還要引入XMLDocument:



             import com.sun.xml.tree.XmlDocument; 

             public class DomEcho{



             在程序邏輯中,因?yàn)橐幚鞤OM模型,所以當(dāng)然首先應(yīng)該申明一個(gè)Document對(duì)象:



             static Document document;

             public static void main (String argv [])

             {

              if (argv.length != 1) {

                         System.err.println ("Usage: java DomEcho filename");

                         System.exit (1);

                     }
             用DocumentBuilderFactory類(lèi)的靜態(tài)方法newInstance()來(lái)創(chuàng)建一個(gè)工廠(chǎng)實(shí)例,之所以稱(chēng)為工廠(chǎng),是由于再這兒應(yīng)用到了設(shè)計(jì)模式(Design Pattern)中的工廠(chǎng)模式,實(shí)際上在Java類(lèi)庫(kù)中設(shè)計(jì)模式的范例隨處可見(jiàn),如果能夠?qū)υO(shè)計(jì)模式有一些了解,就會(huì)很容易為Java龐雜的類(lèi)庫(kù)理出一條條脈絡(luò)分明的經(jīng)線(xiàn)。
                    DocumentBuilderFactory factory =

                        DocumentBuilderFactory.newInstance();

                     try {

                        DocumentBuilder builder = factory.newDocumentBuilder();

                        document = builder.parse( new File(argv[0]) );
             前面說(shuō)過(guò),DOM標(biāo)準(zhǔn)模型中并沒(méi)有定義輸出的接口,因而如果需要進(jìn)行文檔輸出的話(huà),就需要用到JAXP的擴(kuò)展,使用到XmlDocument。這兒有一個(gè)較為簡(jiǎn)便的方法,就是用強(qiáng)制類(lèi)型轉(zhuǎn)換,把一個(gè)Document類(lèi)轉(zhuǎn)換成XmlDocument,然后,就可以使用XmlDocument的write()方法了:
                       XmlDocument xdoc = (XmlDocument) document;

                        xdoc.write (System.out);
             在后面的都是例外的處理了,在DOM中雖然有定義了DOMException,但是DOMException只是用在遍歷和操作DOM樹(shù)時(shí)引發(fā)的例外。在解析文檔和初始化解析器時(shí)所引發(fā)的例外,還是借助于SAX中的例外處理方法,以使程序上具有一致性:

                     } catch (SAXParseException spe) {

                          // 處理解析過(guò)程中生成的例外

                        System.out.println ("\n** Parsing error"

                           + ", line " + spe.getLineNumber ()

                           + ", uri " + spe.getSystemId ());

                        System.out.println("   " + spe.getMessage() );

                        Exception  x = spe;

                        if (spe.getException() != null)

                            x = spe.getException();

                        x.printStackTrace();

                     } catch (SAXException sxe) {

                        // 處理一般的程序例外或者解析器初始化時(shí)引發(fā)的例外

                        Exception  x = sxe;

                        if (sxe.getException() != null)

                            x = sxe.getException();

                        x.printStackTrace();

                     } catch (IOException ioe) {

                        // IO例外

                        ioe.printStackTrace();

                     }

                 }

             這而對(duì)DOM講的比較簡(jiǎn)略,但是基本的程序結(jié)構(gòu)我們已經(jīng)可以從中看出來(lái)了。

           DOM jdk幫助

          posted @ 2007-08-17 09:36 JavaPoint 閱讀(1161) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-17 08:28 JavaPoint 閱讀(1356) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-16 16:59 JavaPoint 閱讀(906) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-16 11:15 JavaPoint 閱讀(1617) | 評(píng)論 (0)編輯 收藏
            當(dāng)需要控制圖層的可見(jiàn)性時(shí),可以使用
          IMapDescription mapdescription = webMap.MapDescription;
          webMap.ManageLifetime(mapdescription); 

              ILayerDescriptions layerdec = mapdescription.LayerDescriptions;

              for(int i=0;i < mapdescription.LayerDescriptions.Count; i++)
          {
              ILayerDescription onelayerdesc = layerdec.get_Element(i); 
              onelayerdesc.Visible = true;
          }
            

          posted @ 2007-08-16 11:11 JavaPoint 閱讀(2375) | 評(píng)論 (5)編輯 收藏

          ArcGIS Server開(kāi)發(fā)——標(biāo)注

          [C#寫(xiě)法]
          private void LabelField(IFeatureLayer pFeatureLayer,IServerContext pServerContext)
            { 
             IGeoFeatureLayer pGeoFeatureLayer = pFeatureLayer as IGeoFeatureLayer;
             pGeoFeatureLayer.AnnotationProperties.Clear();
             IAnnotateLayerPropertiesCollection pAnnoLayerPropsColl = pGeoFeatureLayer.AnnotationProperties;
             ILabelEngineLayerProperties pLabelEngine;
             
             pLabelEngine = pServerContext.CreateObject("esriCarto.LabelEngineLayerProperties") as     ILabelEngineLayerProperties;
             pLabelEngine.Expression = "[Field]";
             IAnnotateLayerProperties pAnnoLayerProps = pLabelEngine as IAnnotateLayerProperties;
             pAnnoLayerPropsColl.Add(pAnnoLayerProps);
             pGeoFeatureLayer.DisplayAnnotation = true;  
            

          posted @ 2007-08-16 11:10 JavaPoint 閱讀(801) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-16 11:09 JavaPoint 閱讀(2926) | 評(píng)論 (0)編輯 收藏
          ArcGIS Server Java講座---使用圖片和TrueType字體進(jìn)行標(biāo)注

          減小字體 增大字體

          直奔主題吧,接上個(gè)主題的講座的內(nèi)容,講講如何用圖片進(jìn)行標(biāo)注。在前面一個(gè)講座我們已經(jīng)說(shuō)明,如何對(duì)選中的物體進(jìn)行高亮顯示。而且這一部分工作是在ADF這一端完成的。那么有的時(shí)候,我們進(jìn)行高亮顯示的時(shí)候,不僅僅希望只是設(shè)置顏色,我們希望能夠用圖片或者truetype字體進(jìn)行標(biāo)注。比如在犯罪地點(diǎn)放一個(gè)壞人之類(lèi)的功能。

          我們來(lái)看看實(shí)現(xiàn)原理,關(guān)鍵是兩個(gè)類(lèi),WebTrueTypeMarkerSymbolWebPictureMarkerSymbol,沒(méi)啥好說(shuō)的,直接用代碼來(lái)說(shuō)明吧:

          先來(lái)看看普通的點(diǎn)標(biāo)注:


          WebPointpt=(WebPoint)arg0.getWebGeometry().toMapGeometry(arg0.getWebContext().getWebMap());

          WebSimpleMarkerSymbol markers =null;

          markers = new WebSimpleMarkerSymbol();

          markers.setAntialiasing(true);

          markers.setColor("255,0,0");

          markers.setWidth(8);

          markers.setOutlineColor("255,0,0");

          markers.setMarkerType(WebSimpleMarkerSymbol.CIRCLE);  

          markers.setPicture(bytInput);

          GraphicElement ge=new GraphicElement();

          ge.setGeometry(pt);

          ge.setSymbol(markers);

          WebGraphicsgraphics=arg0.getWebContext().getWebGraphics();

          graphics.addGraphics(ge);

          arg0.getWebContext().refresh();



          注意webgraphicsymbolsetPicture方法的參數(shù)不是圖片目錄,而是圖片的二進(jìn)制數(shù)組,所以需要用文件IO把圖片讀取進(jìn)來(lái)。當(dāng)然,如果用戶(hù)訪(fǎng)問(wèn)量很大,線(xiàn)程就不安全了,大家可以在application啟動(dòng)時(shí)進(jìn)行讀取,放在context的某個(gè)attribute里面。我原來(lái)認(rèn)為是通過(guò)設(shè)置路徑方式實(shí)現(xiàn),這樣又可能可以搞定gif圖形的閃爍,但是現(xiàn)在實(shí)驗(yàn)結(jié)果是不行。設(shè)置圖片標(biāo)注的代碼如下:



          WebPointpt=(WebPoint)arg0.getWebGeometry().toMapGeometry(arg0.getWebContext().getWebMap());

          //圖片在servelet容器里面目錄                              

          String picPath=FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath()+"\\images\\angle.gif";

          File myFile = new File(picPath);        

          FileInputStream myStream= newFileInputStream(myFile);   

          BufferedInputStream buf = newBufferedInputStream(myStream);

          byte[] bytInput = newbyte[(int)myFile.length()];

          buf.read(bytInput, 0, (int) myFile.length());

          buf.close();

          myStream.close();

          WebPictureMarkerSymbol markers=newWebPictureMarkerSymbol();

          markers.setPicture(bytInput);

          GraphicElement ge=new GraphicElement();

          ge.setGeometry(pt);

          ge.setSymbol(markers);

          WebGraphics graphics=arg0.getWebContext().getWebGraphics();

          graphics.addGraphics(ge);

          arg0.getWebContext().refresh();




          jsf文件里面添加如下代碼,調(diào)用圖片標(biāo)注工具,進(jìn)行測(cè)試:


          <a:tool id="pointTest"defaultImage="images/point.gif"hoverImage="images/pointU.gif"

          selectedImage="images/pointD.gif"clientAction="EsriMapPoint" serverAction="com.cj.ucdemo.GifTestTool"clientPostBack="true"/>



          圖片標(biāo)注的結(jié)果如下:
           
           


          用圖片做markSymbol

          我們也可以使用TrueType字體里面的矢量字體對(duì)圖形進(jìn)行符號(hào)化顯示,這也是我們經(jīng)常使用的方法,具體代碼如下:



          webMap=arg0.getWebContext().getWebMap(); WebPointpt=(WebPoint)arg0.getWebGeometry().toMapGeometry(webMap); WebTrueTypeMarkerSymbol trueMarkerSymbol=new WebTrueTypeMarkerSymbol(); //注意使用系統(tǒng)里面已經(jīng)安裝的字體 trueMarkerSymbol.setFontName("ESRITransportation & Civic");//設(shè)置索引 trueMarkerSymbol.setCharacterIndex(8); trueMarkerSymbol.setFontColor("255,0,0"); trueMarkerSymbol.setFontSize(20); trueMarkerSymbol.setFontStyle(WebTrueTypeMarkerSymbol.BOLD);GraphicElement ge=new GraphicElement(); ge.setGeometry(pt); ge.setSymbol(trueMarkerSymbol);WebGraphicsgraphics=arg0.getWebContext().getWebGraphics(); graphics.addGraphics(ge);arg0.getWebContext().refresh();



          把上面的代碼放在一個(gè)點(diǎn)擊工具里面,在jsf文件中用如下代碼進(jìn)行調(diào)試:




            <a:toolid="trueMarkerTest" defaultImage="images/point.gif"hoverImage="images/pointU.gif"                               selectedImage="images/pointD.gif"clientAction="EsriMapPoint"                               serverAction="com.cj.ucdemo.TrueTypeMarkerTest"clientPostBack="true"/>


          TrueType字體標(biāo)注的結(jié)果如下圖所示:

             

          posted @ 2007-08-16 11:07 JavaPoint 閱讀(1576) | 評(píng)論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-16 11:01 JavaPoint 閱讀(1933) | 評(píng)論 (8)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-15 15:56 JavaPoint 閱讀(2429) | 評(píng)論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-08-15 15:28 JavaPoint 閱讀(727) | 評(píng)論 (0)編輯 收藏
          一、Creat task 建立任務(wù)
                 Creat New Feature  新建要素  (這個(gè)不用說(shuō)了吧)如圖1
           
          二、Modifu tasks  修改任務(wù)
          1、Reshape Feature 更新要素(如圖2)對(duì)多邊形進(jìn)行外部削除
           
          2、Cut Poly Featrue 剪切多邊形要素
          即對(duì)多邊形要素進(jìn)行內(nèi)部分割,①用箭頭工作選中多邊形;②鉛筆工具為可用,選擇之;③在多邊形內(nèi)部進(jìn)行分割。注意:分割操作只在選中多邊形的藍(lán)色框區(qū)域內(nèi)有效,其它部分無(wú)效。(如圖3)
           
           
           3、Mirror Features  鏡像要素 (這也不用說(shuō)了吧,看到圖4就明白了)
           
          4、Extend/Trim Features  延伸/修剪要素 主要對(duì)線(xiàn)要素進(jìn)行操作
          延伸:①用箭頭工作選中線(xiàn);②鉛筆工具為可用,選擇之;③在線(xiàn)外確定延長(zhǎng)所至位置(如圖5)。
           
          修剪:①用箭頭工作選中線(xiàn);②鉛筆工具為可用,選擇之;③在線(xiàn)內(nèi)側(cè)拉出一條剪切線(xiàn)。注:如果按從左至右的順序拉動(dòng)剪切線(xiàn),則保留原線(xiàn)的上部分;如果按從右至左的順序拉動(dòng)剪切線(xiàn),則保留原線(xiàn)的下部分。(如圖6)
           
          body.clientHeight)this.width=body.clientHeight" border="0">
          5、Modify Feature  修改要素。
          注:如用鉛筆工具時(shí),則是從要素最后一個(gè)錨點(diǎn)開(kāi)始繼續(xù)畫(huà)線(xiàn)或修改多邊形形狀(如圖7)。
           
          6、Calibrate Route Feature 校準(zhǔn)路線(xiàn)(通道)要素
          這條俺也沒(méi)明白,大家一起研究研究呀
          7、Modify Portion of a line 修改線(xiàn)的一部分
          這條俺也沒(méi)明白,大家一起研究研究呀
           
          三、Topology Tasks  拓?fù)淙蝿?wù)
          1、Modify Edge  修改邊
          這條俺也沒(méi)明白,大家一起研究研究呀
          2、Reshape Edge  改造邊
          暈,這個(gè)也沒(méi)看明白…..
          3、Aruto-complete polygon 自動(dòng)完成多邊形(我的理解是:外接多邊形)
          (首先非常感謝5樓的MM給我的提示,書(shū)歸正傳body.clientHeight)this.width=body.clientHeight" border="0">)
          創(chuàng)建一個(gè)和已有多邊形共享邊界的新多邊形時(shí)就可以用這個(gè)工具。不過(guò)要先選中已有的多邊形。如圖8,操作一下大家就會(huì)明白的。
           body.clientHeight)this.width=body.clientHeight" border="0" width="316">
           
          四、Other tasks 其它任務(wù)
          1、Select Feature using a line  用線(xiàn)選擇要素(如圖8)
           body.clientHeight)this.width=body.clientHeight" border="0" width="316">
          2、Select Feature using a Area  用面選擇要素
          與前一個(gè)差不多,不必多說(shuō)
          3、Create 2-piont Line Feature  建立兩點(diǎn)線(xiàn)要素
          繪制多條不連續(xù)的2點(diǎn)直線(xiàn),不必多說(shuō)。
          posted @ 2007-08-15 15:20 JavaPoint 閱讀(2904) | 評(píng)論 (1)編輯 收藏
          主站蜘蛛池模板: 宜州市| 金门县| 噶尔县| 益阳市| 紫云| 云阳县| 杂多县| 卢湾区| 巴里| 同心县| 鄄城县| 凉城县| 绥阳县| 明星| 九龙县| 合阳县| 封丘县| 花莲县| 乌兰浩特市| 同江市| 潮州市| 合阳县| 西和县| 达尔| 库尔勒市| 河东区| 兴安盟| 泰来县| 东至县| 阿拉善左旗| 太仓市| 彩票| 柘荣县| 东丽区| 大埔县| 怀仁县| 石阡县| 方山县| 邛崃市| 鄯善县| 南京市|