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

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

?? vpflayergraphicwarehouse.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/layer/vpf/VPFLayerGraphicWarehouse.java,v $// $RCSfile: VPFLayerGraphicWarehouse.java,v $// $Revision: 1.2.2.2 $// $Date: 2004/10/14 18:27:22 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.vpf;import java.util.*;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.omGraphics.*;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.PropUtils;import com.bbn.openmap.io.FormatException;/** * Implement a graphic factory that builds OMGraphics. *  * @see com.bbn.openmap.omGraphics.OMGraphic */public class VPFLayerGraphicWarehouse extends LayerGraphicWarehouseSupport {    /**     * the properties file string that tells us what area features to     * draw     */    String areaFeatures = null;    /** one of these columns must be non-null to draw area features */    int areaSkipFeatures[] = null;    /**     * the properties file string that tells us what edge features to     * draw     */    String edgeFeatures = null;    /** one of these columns must be non-null to draw edge features */    int edgeSkipFeatures[] = null;    /**     * the properties file string that tells us what text features to     * draw     */    String textFeatures = null;    /** one of these columns must be non-null to draw text features */    int textSkipFeatures[] = null;    /**     * the properties file string that tells us what entity point     * features to draw     */    String epointFeatures = null;    /**     * one of these columns must be non-null to draw entity point     * features     */    int epointSkipFeatures[] = null;    /**     * the properties file string that tells us what connected point     * features to draw     */    String cpointFeatures = null;    /**     * one of these columns must be non-null to draw connected point     * features     */    int cpointSkipFeatures[] = null;    /**     *       */    public VPFLayerGraphicWarehouse() {        super();    }    /**     * Set properties of the warehouse.     *      * @param prefix the prefix to use for looking up properties.     * @param props the properties file to look at.     */    public void setProperties(String prefix, java.util.Properties props) {        super.setProperties(prefix, props);        String realPrefix = PropUtils.getScopedPropertyPrefix(prefix);        areaFeatures = props.getProperty(realPrefix + "area");        if (areaFeatures == null) {            areaSkipFeatures = new int[0];        } else {            areaSkipFeatures = null;        }        textFeatures = props.getProperty(realPrefix + "text");        if (textFeatures == null) {            textSkipFeatures = new int[0];        } else {            textSkipFeatures = null;        }        edgeFeatures = props.getProperty(realPrefix + "edge");        if (edgeFeatures == null) {            edgeSkipFeatures = new int[0];        } else {            edgeSkipFeatures = null;        }        epointFeatures = props.getProperty(realPrefix + "epoint");        if (epointFeatures == null) {            epointSkipFeatures = new int[0];        } else {            epointSkipFeatures = null;        }        cpointFeatures = props.getProperty(realPrefix + "cpoint");        if (cpointFeatures == null) {            cpointSkipFeatures = new int[0];        } else {            cpointSkipFeatures = null;        }    }    /**     * Get a List of Strings listing all the feature types wanted.     * Returned with the area features first, then text features, then     * line features, then point features.     */    public List getFeatures() {        List retval = new ArrayList();        StringTokenizer t;        if (areaFeatures != null) {            t = new StringTokenizer(areaFeatures);            while (t.hasMoreTokens()) {                retval.add(t.nextToken());            }        }        if (textFeatures != null) {            t = new StringTokenizer(textFeatures);            while (t.hasMoreTokens()) {                retval.add(t.nextToken());            }        }        if (edgeFeatures != null) {            t = new StringTokenizer(edgeFeatures);            while (t.hasMoreTokens()) {                retval.add(t.nextToken());            }        }        if (epointFeatures != null) {            t = new StringTokenizer(epointFeatures);            while (t.hasMoreTokens()) {                retval.add(t.nextToken());            }        }        if (cpointFeatures != null) {            t = new StringTokenizer(cpointFeatures);            while (t.hasMoreTokens()) {                retval.add(t.nextToken());            }        }        return retval;    }    /**     * Build an array that lists the columns we require the record to     * have.     *      * @param featureString the (space-separated) list of required     *        columns     * @param table the table we use to find the column numbers     * @param colAppend the (possibly null) string we append to the     *        entries in featureString to build the real column name     */    protected int[] getSkipArray(String featureString, DcwRecordFile table,                                 String colAppend) {        List tmpvec = new ArrayList();        if (featureString != null) {            StringTokenizer t = new StringTokenizer(featureString);            while (t.hasMoreTokens()) {                String colname = t.nextToken();                if (colAppend != null) {                    colname += colAppend;                }                int colnum = table.whatColumn(colname);                if (colnum != -1) {                    tmpvec.add(new Integer(colnum));                }            }        }        int[] retval = new int[tmpvec.size()];        for (int i = 0; i < retval.length; i++) {            retval[i] = ((Integer) tmpvec.get(i)).intValue();        }        return retval;    }    /**     * Lets the warehouse know that a different CoverageAttributeTable     * will be using it. The skip arrays need to be reset.     */    public void resetForCAT() {        areaSkipFeatures = null;        textSkipFeatures = null;        edgeSkipFeatures = null;        epointSkipFeatures = null;        cpointSkipFeatures = null;    }    /**     * Determine if this primitive should be drawn or skipped.     *      * @param prim the list for the primitive feature object.     * @param skipArray a list of columns.     * @return true if any of the columns listed in skipArray is     *         non-null.     */    protected boolean createFeature(List prim, int[] skipArray) {        //length==0 --> user wants everything        if (skipArray.length == 0) {            return true;        }        for (int i = 0; i < skipArray.length; i++) {            int val = VPFUtil.objectToInt(prim.get(skipArray[i]));            if (val != Integer.MIN_VALUE) {                return true;            }        }        return false;    }    final transient static java.awt.Color aaronscolor = new java.awt.Color(0xBDDE83);    /**     *       */    public void createArea(CoverageTable covtable, AreaTable areatable,                           List facevec, LatLonPoint ll1, LatLonPoint ll2,                           float dpplat, float dpplon) {        if (areaSkipFeatures == null) {            areaSkipFeatures = getSkipArray(areaFeatures, areatable, ".aft_id");        }        if (!createFeature(facevec, areaSkipFeatures)) {            return;        }        List ipts = new ArrayList();        int totalSize = 0;        try {            totalSize = areatable.computeEdgePoints(facevec, ipts);        } catch (FormatException f) {            Debug.output("FormatException in computeEdgePoints: " + f);            return;        }        if (totalSize == 0) {            //System.out.println("No edged: " + descript);            return;        }        OMPoly py = createAreaOMPoly(ipts,                totalSize,                ll1,                ll2,                dpplat,                dpplon,                covtable.doAntarcticaWorkaround);        //      final MutableInt areatype = new MutableInt(-1);        //      String descript = covtable.getAreaDescription(facevec,        // areatype);        //      if (areatype.value == -1) {        //          areatype.value = 0;        //      }        drawingAttributes.setTo(py);        // HACK to get tile boundaries to not show up for areas.        //         py.setLinePaint(py.getFillPaint());        //         py.setSelectPaint(py.getFillPaint());        py.setLinePaint(OMColor.clear);        py.setSelectPaint(OMColor.clear);        addArea(py);    }    /**     *       */    public void createEdge(CoverageTable c, EdgeTable edgetable, List edgevec,                           LatLonPoint ll1, LatLonPoint ll2, float dpplat,                           float dpplon, CoordFloatString coords) {        if (edgeSkipFeatures == null) {            if (Debug.debugging("vpf")) {                Debug.output("Warehouse.createEdge(): edgeFeatures = "                        + edgeFeatures);                final MutableInt lineType = new MutableInt(-1);                Debug.output("Warehouse: "                        + c.getLineDescription(edgevec, lineType));            }            String columnName = ".lft_id";            edgeSkipFeatures = getSkipArray(edgeFeatures, edgetable, columnName);        }        // HACK remove crufty dateline. This HACK may require        // additional hackage in FeatureClassInfo.java In particular,        // you may need to initialize the class during construction.        /*         * FeatureClassInfo[] lineinfo = c.lineinfo; int len =         * lineinfo.length; for (int i=0; i <len; i++) { String ftname =         * lineinfo[i].getTableName(); ftname.trim(); if         * (ftname.equals("polbndl.lft")) { int col =         * edgetable.whatColumn("polbndl.lft_id"); int row =         * ((Integer)edgevec.get(col)).intValue(); if (row ==         * Integer.MIN_VALUE) { continue; } List fvec=null; try { fvec =         * lineinfo[i].getRow(row); } catch (FormatException f) {         * f.printStackTrace(); continue; } String str =         * (String)fvec.get(lineinfo[i].whatColumn("f_code"));         * str.trim(); if (str.equals("FA110")) {         * System.out.println("ignoring dateline"); return; } } }         */        if (!createFeature(edgevec, edgeSkipFeatures)) {            return;        }        OMPoly py = createEdgeOMPoly(coords, ll1, ll2, dpplat, dpplon);        drawingAttributes.setTo(py);        py.setFillPaint(OMColor.clear);        py.setIsPolygon(false);        addEdge(py);    }    /**     *       */    public void createText(CoverageTable c, TextTable texttable, List textvec,                           float latitude, float longitude, String text) {        if (textSkipFeatures == null) {            textSkipFeatures = getSkipArray(textFeatures, texttable, ".tft_id");        }        if (!createFeature(textvec, textSkipFeatures)) {            return;        }        OMText txt = createOMText(text, latitude, longitude);        drawingAttributes.setTo(txt);        addText(txt);    }    public void createNode(CoverageTable c, NodeTable nt, List nodeprim,                           float latitude, float longitude, boolean isEntityNode) {        int[] skipFeatures = null;        if (isEntityNode) {            if (epointSkipFeatures == null) {                epointSkipFeatures = getSkipArray(epointFeatures, nt, ".pft_id");            }            skipFeatures = epointSkipFeatures;        } else {            if (cpointSkipFeatures == null) {                cpointSkipFeatures = getSkipArray(cpointFeatures, nt, ".pft_id");            }            skipFeatures = cpointSkipFeatures;        }        if (!createFeature(nodeprim, skipFeatures)) {            return;        }        OMPoint pt = createOMPoint(latitude, longitude);        drawingAttributes.setTo(pt);        addPoint(pt);    }    public static void main(String argv[]) {        new VPFLayerGraphicWarehouse();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性三三影院| 亚洲狠狠丁香婷婷综合久久久| 99久久婷婷国产综合精品电影| 日韩不卡手机在线v区| 亚洲无线码一区二区三区| 亚洲精选在线视频| 亚洲精品菠萝久久久久久久| 国产精品三级av| 欧美国产日本韩| 中日韩av电影| 中文字幕一区二区不卡| 亚洲人被黑人高潮完整版| 一区二区三区免费在线观看| 亚洲影院免费观看| 亚洲欧美另类综合偷拍| 国产精品网友自拍| 亚洲女同ⅹxx女同tv| 一区二区三区精品在线| 图片区小说区区亚洲影院| 精品国产一区二区三区久久久蜜月 | 在线精品视频免费播放| 色偷偷成人一区二区三区91| 欧美三级中文字幕在线观看| 欧美高清一级片在线| 51久久夜色精品国产麻豆| 精品欧美久久久| 国产精品久久久久久久久久久免费看 | 欧美视频日韩视频在线观看| 精品视频999| 精品人伦一区二区色婷婷| 国产精品国产a| 日韩高清不卡一区二区三区| 国产一区在线看| 91成人国产精品| 欧美变态tickle挠乳网站| 国产精品久久99| 日韩av午夜在线观看| 国产一区999| 欧美亚洲自拍偷拍| 国产亚洲制服色| 亚洲电影第三页| 裸体在线国模精品偷拍| 国产suv一区二区三区88区| 欧美日韩久久一区二区| 欧美激情在线免费观看| 首页国产丝袜综合| eeuss鲁片一区二区三区| 欧美一区二区三区男人的天堂| 欧美激情一区二区三区不卡| 亚洲高清免费在线| 不卡的电视剧免费网站有什么| 欧美一级高清片在线观看| 亚洲欧美怡红院| 蜜桃久久久久久久| 欧美日韩小视频| 一区二区三区四区国产精品| 国产91色综合久久免费分享| 精品少妇一区二区| 日本伊人午夜精品| 欧美日韩一区二区三区高清| 亚洲免费av观看| 91在线观看高清| 国产精品免费免费| 成人晚上爱看视频| 国产亚洲1区2区3区| 毛片不卡一区二区| 日韩一区二区三区免费看| 丝袜亚洲另类丝袜在线| 欧美伊人久久大香线蕉综合69| ㊣最新国产の精品bt伙计久久| 亚洲va国产天堂va久久en| 国产sm精品调教视频网站| 91精品福利视频| 精品国产一区二区三区久久影院 | 91浏览器入口在线观看| 欧美一区二区免费| 亚洲欧美视频一区| 国产真实精品久久二三区| 在线国产亚洲欧美| 久久日一线二线三线suv| 亚洲制服丝袜在线| 国产精品99久久久久久久女警 | 欧美日韩视频第一区| 99精品在线免费| 久久免费偷拍视频| 偷窥国产亚洲免费视频| 99久久99久久精品免费观看| 欧美va亚洲va在线观看蝴蝶网| 亚洲成在人线免费| 91视频国产观看| 久久精品亚洲乱码伦伦中文| 日韩在线一区二区| 91成人免费电影| 亚洲欧洲综合另类| 国产成人精品在线看| 精品三级在线看| 免费高清视频精品| 欧美人妖巨大在线| 亚洲一区二区三区小说| 99精品在线免费| 国产精品视频一区二区三区不卡| 极品尤物av久久免费看| 日韩亚洲欧美高清| 日韩电影网1区2区| 日韩亚洲欧美中文三级| 蜜臀av一区二区在线免费观看| 7777精品伊人久久久大香线蕉经典版下载 | 国内不卡的二区三区中文字幕| 日韩一区二区免费高清| 亚洲国产cao| 99久久夜色精品国产网站| 国产精品伦理在线| 99精品视频在线观看免费| 国产午夜一区二区三区| 国产精品香蕉一区二区三区| 国产日韩精品一区二区浪潮av| 日韩国产一二三区| 欧美成人video| 国产一区二区日韩精品| 久久青草国产手机看片福利盒子| 精品一区二区国语对白| 久久综合999| 97久久久精品综合88久久| 国产精品丝袜黑色高跟| 欧美图区在线视频| 婷婷开心久久网| 成人国产精品视频| 国产精品不卡一区二区三区| 丁香亚洲综合激情啪啪综合| 国产精品嫩草99a| 国产999精品久久久久久绿帽| av在线不卡观看免费观看| 国产精品久久毛片a| 91日韩在线专区| 青青草97国产精品免费观看无弹窗版| 欧美精品久久天天躁| 另类中文字幕网| 中文字幕在线一区| 欧美欧美欧美欧美| 国产精品99久久久久久久vr| 中文在线资源观看网站视频免费不卡 | 91福利视频在线| 免费观看30秒视频久久| 91麻豆福利精品推荐| 免费高清在线一区| 亚洲蜜臀av乱码久久精品蜜桃| 91精品国产手机| 丰满少妇久久久久久久| 亚洲午夜激情av| 欧美xfplay| 色丁香久综合在线久综合在线观看| 五月开心婷婷久久| 国产精品网曝门| 欧美少妇性性性| 国产成人aaa| 日本欧美一区二区三区乱码| 国产精品系列在线| 精品国产伦一区二区三区免费 | 粉嫩一区二区三区在线看| 亚洲国产毛片aaaaa无费看| 中文一区二区完整视频在线观看| 在线播放欧美女士性生活| 蜜臀99久久精品久久久久久软件| 国产丝袜欧美中文另类| 欧美日韩在线播放一区| 国产精品69久久久久水密桃| 亚洲在线视频免费观看| 国产亚洲va综合人人澡精品| 欧美亚洲免费在线一区| 成人黄色软件下载| 免费成人在线观看| 亚洲一区二区美女| 91麻豆精品国产91久久久久久久久 | 色国产综合视频| 91原创在线视频| av在线综合网| 成人黄色在线网站| 成人在线综合网| 久久av资源网| 美国十次综合导航| 久久99日本精品| 国产麻豆欧美日韩一区| 日日夜夜免费精品| 国产天堂亚洲国产碰碰| 色综合一个色综合| 高清beeg欧美| 国产一区二区不卡在线| 石原莉奈在线亚洲二区| 亚洲黄网站在线观看| 国产日韩欧美亚洲| 欧美专区日韩专区| 大陆成人av片| 国产自产v一区二区三区c| 1区2区3区欧美| 中文字幕五月欧美| 国产精品美女一区二区| 精品久久久久久综合日本欧美| 欧美日韩国产免费一区二区| 91毛片在线观看| 欧美最猛性xxxxx直播|