⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esripolylinelist.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/dataAccess/shape/EsriPolylineList.java,v $// $RCSfile: EsriPolylineList.java,v $// $Revision: 1.6.2.2 $// $Date: 2005/08/09 17:23:03 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.dataAccess.shape;import java.util.Iterator;import com.bbn.openmap.omGraphics.DrawingAttributes;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.OMGraphicList;import com.bbn.openmap.omGraphics.OMLine;import com.bbn.openmap.omGraphics.OMPoly;import com.bbn.openmap.util.Debug;/** * An EsriGraphicList ensures that only EsriPolygons are added to its * list. *  * @author Doug Van Auken * @author Don Dietrick */public class EsriPolylineList extends EsriGraphicList {    /**     * Over-ride the add( ) method to trap for inconsistent shape     * geometry. If you are adding a OMGraphic that is not a list,     * make sure this list is a sub-list containing multiple geometry     * parts. Only add another list to a top level EsriGraphicList.     *      * @param shape the non-null OMGraphic to add     */    public void add(OMGraphic shape) {        try {            if (!(shape instanceof EsriPolyline) && shape instanceof OMPoly) {                shape = EsriPolyline.convert((OMPoly) shape);            } else if (shape instanceof OMLine) {                shape = EsriPolyline.convert(EsriPolylineList.convert((OMLine) shape));            }            if (shape instanceof OMGraphicList) {                OMGraphicList list = (OMGraphicList) shape;                EsriGraphic graphic = (EsriGraphic) list.getOMGraphicAt(0);                if (graphic instanceof EsriPolyline                        || graphic instanceof EsriPolylineList) {                    graphics.add(shape);                    addExtents(((EsriGraphicList) shape).getExtents());                } else if (graphic instanceof OMGraphic) {                    // Try recursively...                    add((OMGraphic) graphic);                } else {                    Debug.message("esri",                            "EsriPolylineList.add()- graphic list isn't EsriPolylineList, can't add.");                }            } else if (shape instanceof EsriPolyline) {                graphics.add(shape);                addExtents(((EsriPolyline) shape).getExtents());            } else {                Debug.message("esri",                        "EsriPolylineList.add()- graphic isn't EsriPolyline, can't add.");            }        } catch (ClassCastException cce) {        }    }    /**     * Get the list type in ESRI type number form - 3.     */    public int getType() {        return SHAPE_TYPE_POLYLINE;    }    /**     * Construct an EsriPolylineList.     */    public EsriPolylineList() {        super();    }    /**     * Construct an EsriPolylineList with an initial capacity.     *      * @param initialCapacity the initial capacity of the list     */    public EsriPolylineList(int initialCapacity) {        super(initialCapacity);    }    /**     * Construct an EsriPolylineList with an initial capacity and a     * standard increment value.     *      * @param initialCapacity the initial capacity of the list     * @param capacityIncrement the capacityIncrement for resizing     * @deprecated - capacityIncrement doesn't do anything.     */    public EsriPolylineList(int initialCapacity, int capacityIncrement) {        super(initialCapacity);    }    public static OMPoly convert(OMLine omLine) {        if (omLine.getRenderType() == OMGraphic.RENDERTYPE_LATLON) {            OMPoly poly = new OMPoly(omLine.getLL(), OMGraphic.DECIMAL_DEGREES, omLine.getLineType());            poly.setAttributes(omLine.getAttributes());            DrawingAttributes da = new DrawingAttributes();            da.setFrom(omLine);            da.setTo(poly);            return poly;        } else            return null;    }    public EsriGraphic shallowCopy() {        EsriPolylineList ret = new EsriPolylineList(size());        ret.setAttributes(getAttributes());        for (Iterator iter = iterator(); iter.hasNext();) {            EsriGraphic g = (EsriGraphic) iter.next();            ret.add((OMGraphic) g.shallowCopy());        }        return ret;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -