亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? esriplugin.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// **********************************************************************// // <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/plugin/esri/EsriPlugIn.java,v $// $RCSfile: EsriPlugIn.java,v $// $Revision: 1.9.2.3 $// $Date: 2005/08/09 21:17:49 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.plugin.esri;import java.awt.BorderLayout;import java.awt.Component;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.Properties;import java.util.Vector;import javax.swing.DefaultListSelectionModel;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.ListSelectionModel;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;import com.bbn.openmap.Layer;import com.bbn.openmap.dataAccess.shape.DbfTableModel;import com.bbn.openmap.dataAccess.shape.DrawingAttributesUtility;import com.bbn.openmap.dataAccess.shape.EsriGraphicList;import com.bbn.openmap.dataAccess.shape.EsriPointList;import com.bbn.openmap.dataAccess.shape.EsriPolygonList;import com.bbn.openmap.dataAccess.shape.EsriPolylineList;import com.bbn.openmap.dataAccess.shape.EsriShapeExport;import com.bbn.openmap.dataAccess.shape.ShapeConstants;import com.bbn.openmap.omGraphics.DrawingAttributes;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.OMGraphicList;import com.bbn.openmap.plugin.AbstractPlugIn;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.DataBounds;import com.bbn.openmap.util.DataBoundsProvider;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.PropUtils;/** * EsriPlugIn loads Esri shape file sets from web servers or local * file systems, and it enables the creation of shape file sets. It * needs to be inserted into a PlugInLayer to use within OpenMap. * <P> * To create a file from a remote location: <code><pre> *  * URL shp = new URL(&quot;http://www.webserver.com/file.shp&quot;); * URL dbf = new URL(&quot;http://www.webserver.com/file.dbf&quot;); * URL shx = new URL(&quot;http://www.webserver.com/file.shx&quot;); * EsriPlugIn epi = new EsriPlugIn(&quot;name&quot;, dbf, shp, shx); * PlugInLayer pil = new PlugInLayer(); * pil.setPlugIn(epi); *  * </pre></code> *  * To open a shape file set from the local file system: <code><pre> *  * File dbf = new File(&quot;c:/data/file.dbf&quot;); * File shp = new File(&quot;c:/data/file.shp&quot;); * File shx = new File(&quot;c:/data/file.shx&quot;); * EsriPlugIn epi = new EsriPlugIn(&quot;name&quot;, dbf.toURL(), shp.toURL(), shx.toURL()); * PlugInLayer pil = new PlugInLayer(); * pil.setPlugIn(epi); *  * </pre></code> *  * To create a zero content shape file set from which the user can add * shapes at runtime: <code><pre> * EsriPlugIn epi = new EsriPlugIn(&quot;name&quot;, EsriLayer.TYPE_POLYLINE); *  * </pre></code> *  * To add features to an EsriLayer: <code><pre> *  * OMGraphicList shapeData = new OMGraphicList(); * ArrayList tabularData = new ArrayList(); * float[] part0 = new float[] { 35.0f, -120.0f, -25.0f, -95.0f, 56.0f, -30.0f }; * float[] part1 = new float[] { -15.0f, -110.0f, 13.0f, -80.0f, -25.0f, 10.0f }; * OMPoly poly0 = new OMPoly(part0, OMGraphic.DECIMAL_DEGREES, OMGraphic.LINETYPE_RHUMB); * OMPoly poly1 = new OMPoly(part1, OMGraphic.DECIMAL_DEGREES, OMGraphic.LINETYPE_RHUMB); * shapeData.add(poly0); //part 1 * shapeData.add(poly1); //part 2 * shapeData.generate(_mapBean.getProjection()); * tabularData.add(0, &quot;a value&quot;); * plugin.addRecord(shapeData, tabularData); * plugin.repaint(); // assumes that plugin added to PlugInLayer *  * </pre></code> *  * To configure an EsriLayer through a properties file, specify file * references in terms of URLs, full or relative file paths. *  * To reference a file on Windows 2000: <code><pre> *      *      *        esri.class = com.bbn.openmap.plugin.esri.EsriPlugIn *        esri.prettyName = Esri Example *        esri.shp = file:///c:/data/shapefile.shp *      # -or- *        esri.shp = c:/data/shapefile.shp *      *        esri.dbf = file:///c:/data/shapefile.dbf *        esri.shx = file:///c:/data/shapefile.shx *      *       * </pre></code> *  * To reference a file on RedHat Linux 6.2: <code><pre> *      *      *        esri.class = com.bbn.openmap.plugin.esri.EsriPlugIn *        esri.prettyName = Esri Example *        esri.shp = file:///home/dvanauke/resources/shapefile.shp *      # - or - *        esri.shp = /home/dvanauke/resources/shapefile.shp *      *        esri.dbf = file:///home/dvanauke/resources/shapefile.dbf *        esri.shx = file:///home/dvanauke/resources/shapefile.shx *      *       * </pre></code> *  * To reference a file on a web server: <code><pre> *      *      *        esri.class = com.bbn.openmap.plugin.esri.EsriPlugIn *        esri.prettyName = Esri Example *        esri.shp = http://www.webserver.com/shapefile.shp *        esri.dbf = http://www.webserver.com/shapefile.dbf *        esri.shx = http://www.webserver.com/shapefile.shx *      *       * </pre></code> *  * The PlugIn has been updated to use the properties from the * DrawingAttributes object in order to specify how it's objects * should be rendered: <code><pre> *      *      *        esri.class = com.bbn.openmap.plugin.esri.EsriPlugIn *        esri.prettyName = Esri Example *        esri.lineColor = AARRGGBB (hex ARGB color) *        esri.fillColor = AARRGGBB (hex ARGB color) *        esri.selectColor = AARRGGBB (hex ARGB color) *        esri.lineWidth = AARRGGBB (hex ARGB color) *      *       * </pre></code> *  * See DrawingAttributes for more options. Also, as of OpenMap 4.5.4, * you don't have to specify the location of the .dbf and .shx files. * If you don't, the plugin assumes that those files are next to the * .shp file. *  * @author Doug Van Auken * @author Don Dietrick * @author Lonnie Goad from OptiMetrics provided selection bug *         solution and GUI interaction. */public class EsriPlugIn extends AbstractPlugIn implements ShapeConstants,        DataBoundsProvider {    private EsriGraphicList _list = null;    private DbfTableModel _model = null;    private int _type = -1;    private String dbf;    private String shx;    private String shp;    /**     * A simple list mechanism that will let selected OMGraphics to be     * drawn on top of all the others. Using this list instead of     * changing the order of the esri graphic list maintains the order     * of that list. We clear out this and add to it as necessary.     */    protected OMGraphicList selectedGraphics = new OMGraphicList();    /** The last projection. */    protected Projection proj;    protected DrawingAttributes drawingAttributes = DrawingAttributes.getDefaultClone();    /**     * Creates an EsriPlugIn that will be configured through the     * <code>setProperties()</code> method     */    public EsriPlugIn() {        Debug.message("esri", "EsriPlugIn: default constructor");    }    /**     * Creates an empty EsriPlugIn, useable for adding features at     * run-time.     *      * @param name The name of the layer     * @param type The type of layer     * @param columnCount The number of columns in the dbf model     */    public EsriPlugIn(String name, int type, int columnCount) throws Exception {        switch (type) {        case SHAPE_TYPE_POINT:            _list = new EsriPointList();            break;        case SHAPE_TYPE_POLYGON:            _list = new EsriPolygonList();            break;        case SHAPE_TYPE_POLYLINE:            _list = new EsriPolylineList();            break;        default:            _list = null;        }        _model = new DbfTableModel(columnCount);        this.name = name;    }    /**     * Creates an EsriPlugIn from a set of shape files     *      * @param name The name of the layer that may be used to reference     *        the layer     * @param dbf The url referencing the dbf extension file     * @param shp The url referencing the shp extension file     * @param shx The url referencing the shx extension file     */    public EsriPlugIn(String name, URL dbf, URL shp, URL shx) {        this.dbf = dbf.toString();        this.shp = shp.toString();        this.shx = shx.toString();        _list = getGeometry(shp, shx);        _model = getDbfTableModel(dbf);        _list.putAttribute(DBF_ATTRIBUTE, _model);        this.name = name;    }    /**     * Set the drawing attributes for the graphics on the list.     */    public void setDrawingAttributes(DrawingAttributes da) {        drawingAttributes = da;        if (_list != null) {            drawingAttributes.setTo(_list);        }    }    /**     * Get the drawing attributes for the graphics on the list.     */    public DrawingAttributes getDrawingAttributes() {        return drawingAttributes;    }    /**     * Handles adding records to the geometry list and the     * DbfTableModel.     *      * @param graphic An OMGraphic to add the graphics list     * @param record A record to add to the DbfTableModel     */    public void addRecord(OMGraphic graphic, ArrayList record) {        OMGraphicList list = getEsriGraphicList();        // Associate the record directly in the OMGraphic        graphic.putAttribute(SHAPE_DBF_INFO_ATTRIBUTE, record);        // If list == null, model will be too.        if (list != null) {            // Might as well set the index            graphic.putAttribute(SHAPE_INDEX_ATTRIBUTE,                    new Integer(list.size() + 1));            list.add(graphic);            _model.addRecord(record);        } else {            Debug.error("EsriPlugIn.addRecord(): invalid data files!");        }    }    /**     * Creates a DbfTableModel for a given .dbf file     *      * @param dbf The url of the file to retrieve.     * @return The DbfTableModel for this layer, null if something     *         went badly.     */    private DbfTableModel getDbfTableModel(URL dbf) {        return DbfTableModel.getDbfTableModel(dbf);    }    /**     * Returns the EsriGraphicList for this layer     *      * @return The EsriGraphicList for this layer     */    public EsriGraphicList getEsriGraphicList() {        if (_list == null) {            try {                // _model = getDbfTableModel(new URL(dbf));                // _list = getGeometry(new URL(shp), new URL(shx));                // Changed so that shp, dbf and shx can be named as                // resource, a file path, or a URL. Also, if the dbf                // and shx file are not provided, look for them next                // to the shape file. - DFD                if ((shx == null || shx.equals("")) && shp != null) {                    shx = shp.substring(0, shp.lastIndexOf('.') + 1)                            + PARAM_SHX;                }                if ((dbf == null || dbf.equals("")) && shp != null) {                    dbf = shp.substring(0, shp.lastIndexOf('.') + 1)                            + PARAM_DBF;                }                _model = getDbfTableModel(PropUtils.getResourceOrFileOrURL(dbf));                _list = getGeometry(PropUtils.getResourceOrFileOrURL(shp),                        PropUtils.getResourceOrFileOrURL(shx));                if (_model != null) {                    DrawingAttributesUtility.setDrawingAttributes(_list,                            _model,                            getDrawingAttributes());                }            } catch (MalformedURLException murle) {                Debug.error("EsriPlugIn|" + getName()                        + " Malformed URL Exception\n" + murle.getMessage());            } catch (Exception exception) {                Debug.error("EsriPlugIn|" + getName() + " Exception\n"                        + exception.getMessage());                exception.printStackTrace();            }        }        return _list;    }    public static void main(String[] argv) {        if (argv.length == 0) {            System.out.println("Give EsriPlugIn a path to a shape file, and it'll print out the graphics.");            System.exit(0);        }        Debug.init();        EsriPlugIn epi = new EsriPlugIn();        Properties props = new Properties();        props.put(PARAM_SHP, argv[0]);        epi.setProperties(props);        OMGraphicList list = epi.getEsriGraphicList();        if (list != null) {            Debug.output(list.getDescription());        }        String dbfFileName = argv[0].substring(0, argv[0].lastIndexOf('.') + 1)                + "dbf";        try {            DbfTableModel dbf = epi.getDbfTableModel(PropUtils.getResourceOrFileOrURL(epi,                    dbfFileName));            list.setAppObject(dbf);            Debug.output("Set list in table");            dbf.showGUI(dbfFileName, 0);        } catch (Exception e) {            Debug.error("Can't read .dbf file for .shp file: " + dbfFileName                    + "\n" + e.getMessage());            System.exit(0);        }        EsriShapeExport ese = new EsriShapeExport(list, null, "./ese");        Debug.output("Exporting...");        ese.export();        Debug.output("Done.");    }    /**     * The getRectangle call is the main call into the PlugIn module.     * The module is expected to fill a graphics list with objects     * that are within the screen parameters passed. It's assumed that     * the PlugIn will call generate(projection) on the OMGraphics     * returned! If you don't call generate on the OMGraphics, they     * will not be displayed on the map.     *      * @param p projection of the screen, holding scale, center     *        coords, height, width. May be null if the parent     *        component hasn't been given a projection.     */    public OMGraphicList getRectangle(Projection p) {        OMGraphicList list = getEsriGraphicList();        proj = p;        if (list != null) {            list.generate(p);            // Setting the list up so that if anything is "selected",            // it will also be drawn on top of all the other            // OMGraphics. This maintains order while also making any            // line edge changes more prominent.            OMGraphicList parent = new OMGraphicList();            parent.add(selectedGraphics);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人做爰69片免费看网站| 欧美日韩另类一区| 在线免费观看视频一区| 国产精品中文字幕一区二区三区| 亚洲成人激情av| 日本一区中文字幕| 午夜视频在线观看一区二区三区| 精品久久一二三区| 18涩涩午夜精品.www| 亚洲精品一区二区三区99| 中文字幕一区二区不卡| 欧美一区二区三区在线| 欧美成人高清电影在线| 国产女人18水真多18精品一级做| 久久久国产精华| 国产欧美日韩一区二区三区在线观看| av午夜精品一区二区三区| 欧美日韩mp4| 欧美经典三级视频一区二区三区| 久久精品欧美一区二区三区麻豆| 婷婷国产v国产偷v亚洲高清| 蜜桃视频在线观看一区二区| 国产成人日日夜夜| 777xxx欧美| 一区二区欧美国产| 国精品**一区二区三区在线蜜桃| 欧美综合在线视频| 最新日韩av在线| 国产在线精品一区二区三区不卡| 91久久精品网| 国产日韩一级二级三级| 亚洲综合一二三区| 国产成人丝袜美腿| 久久影院午夜论| 亚洲欧美国产77777| 国产91丝袜在线播放九色| 26uuu国产一区二区三区| 日韩黄色免费电影| 色呦呦网站一区| 国产精品久久久久精k8| 性做久久久久久| 99久久精品国产精品久久| 精品国产乱子伦一区| 免费观看日韩av| 日韩视频在线观看一区二区| 奇米影视一区二区三区小说| 91久久人澡人人添人人爽欧美| 中文字幕一区二区三区色视频 | 日韩精品一区二区三区视频在线观看 | 91麻豆123| 成人免费在线观看入口| 色哟哟欧美精品| 国产精品福利av| 欧美日韩美女一区二区| 水野朝阳av一区二区三区| 欧美吻胸吃奶大尺度电影| 亚洲国产一区视频| 成人综合婷婷国产精品久久| 国产精品大尺度| 欧美色大人视频| 精品一区二区国语对白| 欧美国产日韩a欧美在线观看 | 精品国产乱码久久久久久闺蜜| 国产在线麻豆精品观看| 精品日韩在线观看| 成人免费毛片a| 三级成人在线视频| 欧美激情中文字幕| 欧美乱妇一区二区三区不卡视频| 亚洲最色的网站| 久久先锋影音av鲁色资源网| 欧美综合天天夜夜久久| 国产一区二区三区黄视频| 亚洲一区二区三区中文字幕| 欧美r级在线观看| jlzzjlzz亚洲女人18| 视频一区视频二区中文字幕| 国产精品理论在线观看| 日韩一区二区三区免费观看 | 日韩一区二区精品葵司在线 | 一本大道久久a久久精二百| 美女一区二区三区| 亚洲综合色区另类av| 亚洲国产成人在线| 日韩一级高清毛片| 欧美日韩一级大片网址| 97se亚洲国产综合自在线不卡 | 欧美精品久久天天躁| 国产福利精品一区二区| 激情成人午夜视频| av电影在线不卡| 日韩色在线观看| 亚洲午夜免费福利视频| 午夜精品福利一区二区蜜股av| 亚洲精品视频观看| 蜜臀a∨国产成人精品| 成人精品在线视频观看| 欧美日韩亚洲综合在线 | 国产精品美女久久久久高潮| 国产亚洲欧美色| 亚洲欧洲在线观看av| 一区二区中文视频| 亚洲国产欧美在线| 久久精品国产99| 成人av网站在线观看免费| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产一区二区0| 91美女在线视频| 欧美一区二区三区免费视频| 久久尤物电影视频在线观看| 欧美激情综合五月色丁香| 亚洲综合清纯丝袜自拍| 日韩激情在线观看| 岛国一区二区三区| 欧美日韩一区二区三区在线| 日韩精品一区二区三区在线观看| 欧美国产日本视频| 日韩成人一区二区| 欧美日韩国产高清一区二区三区| 欧美情侣在线播放| 99视频超级精品| 国产精品一区二区久久精品爱涩| 国产在线视频一区二区三区| 国产福利一区二区三区视频| 久久99在线观看| 免费成人美女在线观看| 激情亚洲综合在线| 成a人片亚洲日本久久| 在线观看91精品国产麻豆| 久久精品亚洲精品国产欧美| 亚洲一区二区视频| av一区二区三区| 久久蜜臀精品av| 日韩成人精品视频| 欧美专区日韩专区| 国产精品丝袜91| 国产在线日韩欧美| 日韩欧美黄色影院| 丝袜美腿亚洲色图| 欧美性猛交xxxx黑人交 | 久久久久久久久久久久电影| 午夜精品久久久久久| 欧美日韩在线亚洲一区蜜芽| 欧美国产在线观看| 首页国产丝袜综合| 欧美精品三级日韩久久| 亚洲精品久久久蜜桃| 色老头久久综合| 一区二区久久久| 欧美视频一区二| 亚洲一区二区在线视频| 欧美丝袜自拍制服另类| 洋洋成人永久网站入口| 91久久香蕉国产日韩欧美9色| 亚洲免费观看高清完整版在线 | 在线91免费看| 蜜臀av一区二区在线免费观看| 日韩一区二区三区电影在线观看| 日本不卡1234视频| 国产亚洲综合色| 成人av电影免费观看| 一区二区三区中文字幕| 精品污污网站免费看| 日本成人在线视频网站| 精品久久一二三区| 国产91精品免费| 亚洲精品中文字幕乱码三区| 欧美美女直播网站| 韩国在线一区二区| 国产精品进线69影院| 欧美精品v国产精品v日韩精品| 蜜桃免费网站一区二区三区| 中文字幕精品在线不卡| 欧美综合天天夜夜久久| 极品少妇一区二区| 亚洲日本欧美天堂| 精品久久久久久最新网址| 成人18视频日本| 蜜桃av噜噜一区二区三区小说| 亚洲欧洲国产专区| 欧美一区二区成人| 欧美午夜一区二区| 午夜欧美在线一二页| 精品国产乱码久久久久久老虎| 99久久亚洲一区二区三区青草| 三级精品在线观看| 亚洲精品免费在线| 国产日韩欧美高清在线| 欧美一区二区精品在线| 色呦呦日韩精品| 波多野结衣的一区二区三区| 捆绑变态av一区二区三区| 亚洲bdsm女犯bdsm网站| 亚洲色图视频网站| 国产精品麻豆99久久久久久| 精品欧美一区二区在线观看| 欧美精选午夜久久久乱码6080| 不卡一区二区三区四区| 精品国产亚洲一区二区三区在线观看| 久久久一区二区三区捆绑**|