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

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

?? geointersectionlayer.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
// **********************************************************************////<copyright>////BBN Technologies, a Verizon Company//10 Moulton Street//Cambridge, MA 02138//(617) 873-8000////Copyright (C) BBNT Solutions LLC. All rights reserved.////</copyright>//**********************************************************************////$Source:///cvs/darwars/ambush/aar/src/com/bbn/ambush/mission/MissionHandler.java,v//$//$RCSfile: GeoIntersectionLayer.java,v $//$Revision: 1.1.2.1 $//$Date: 2005/08/09 21:17:55 $//$Author: dietrick $////**********************************************************************package com.bbn.openmap.layer.test;import java.awt.Color;import java.awt.Component;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.Rectangle;import java.awt.Shape;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.io.File;import java.net.MalformedURLException;import java.util.Iterator;import java.util.Properties;import java.util.Vector;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.filechooser.FileFilter;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.dataAccess.shape.DbfTableModel;import com.bbn.openmap.dataAccess.shape.EsriGraphicList;import com.bbn.openmap.event.MapMouseEvent;import com.bbn.openmap.geo.BoundaryCrossing;import com.bbn.openmap.geo.BoundingCircle;import com.bbn.openmap.geo.ExtentIndex;import com.bbn.openmap.geo.ExtentIndexImpl;import com.bbn.openmap.geo.Geo;import com.bbn.openmap.geo.GeoPath;import com.bbn.openmap.geo.GeoPoint;import com.bbn.openmap.geo.GeoRegion;import com.bbn.openmap.geo.GeoSegment;import com.bbn.openmap.geo.Intersection;import com.bbn.openmap.layer.editor.EditorLayer;import com.bbn.openmap.omGraphics.DrawingAttributes;import com.bbn.openmap.omGraphics.OMAction;import com.bbn.openmap.omGraphics.OMColor;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.OMGraphicList;import com.bbn.openmap.omGraphics.OMLine;import com.bbn.openmap.omGraphics.OMPoint;import com.bbn.openmap.omGraphics.OMPoly;import com.bbn.openmap.omGraphics.OMRaster;import com.bbn.openmap.omGraphics.OMTextLabeler;import com.bbn.openmap.omGraphics.SinkGraphic;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.FileUtils;import com.bbn.openmap.util.PaletteHelper;import com.bbn.openmap.util.PropUtils;/** * This layer demonstrates the use of the com.bbn.openmap.geo package * to do intersection calculations in lat/lon space. It allows you to * load shape files for sample data sets, and then draw lines, * polygons and points on the map to as test cases for intersections * on the sample data sets. The ToolPanel will hold controls for * choosing what kind of things to draw, and how they should be * rendered. The palette for this layer controls the sample data sets, * letting you add and remove data files and change their colors. * <P> *  * If you draw a line, polyline or point, the shapes in the data sets * that intersect with them will be rendered in the 'select' colors. * If you draw a closed polygon with a fill color, the data set shapes * inside the polygon will also be selected. The palette has controls * for showing the actual points of intersection for paths and their * sample data regions. There is also an option to allow mouse clicks * on a data set region to create an image over the bounding rectangle * for that region, checking the Geo point intersection algorithm * against the Java 2D algorithm for the shape in projected pixel * space. An all-green image is good, pixels where the algorithms * differ will be red. * <P> *  * The properties for this layer are: *  * <pre> *   geo.class=com.bbn.openmap.layer.test.GeoIntersectionLayer *   geo.prettyName=GEO Intersections *   geo.editor=com.bbn.openmap.layer.editor.DrawingEditorTool *   geo.showAttributes=true *   geo.loaders=lines polys points *   geo.mouseModes=Gestures *   geo.lines.class=com.bbn.openmap.tools.drawing.OMLineLoader *   geo.polys.class=com.bbn.openmap.tools.drawing.OMPolyLoader *   geo.points.class=com.bbn.openmap.tools.drawing.OMPointLoader *   geo.shapeFileList=geocounties geolakes geocountries *   geo.geocounties=/data/shape/usa/counties.shp *   geo.geolakes=/data/shape/world/lakes.shp *   geo.geocountries=/data/shape/world/cntry02/cntry02.shp *   # Colors for regular, unselected data shapes *   geo.fillColor=FF333399 *   geo.selectColor=ffff9900 *   geo.mattingColor=ffff9900 *   # Colors for data shapes intersected by drawn shapes *   geo.selected.fillColor=FFFFFF00 *   geo.selected.selectColor=ffff9900 *   geo.selected.mattingColor=ffff9900 * </pre> *  * @author dietrick */public class GeoIntersectionLayer extends EditorLayer implements        PropertyChangeListener {    /** This list holds the OMGraphics that have been drawn. */    protected OMGraphicList drawnList = new OMGraphicList();    /** This list holds the EsriGraphicLists from the Shape files. */    protected OMGraphicList fileDataList = new OMGraphicList();    /**     * This list holds the BoundaryCrossings and the image masks     * created from Intersection queries.     */    protected OMGraphicList intersectionResultList = new OMGraphicList();    /** The RegionIndex organizing the Shape OMGraphics for searching. */    protected ExtentIndexImpl regionIndex = null;    protected DrawingAttributes shapeDA = new DrawingAttributes();    protected DrawingAttributes shapeDASelected = new DrawingAttributes();    public final static String ShapeFileListProperty = "shapeFileList";    public final static String ShapeFileProperty = "shapeFile";    public final static String ShowCrossingPointsProperty = "showCrossingPoints";    public final static String PointCheckProperty = "pointCheck";    public final static String SHAPE_FILE_NAME_ATTRIBUTE = "SHAPE_FILE_NAME";    public final static String SHAPE_VISIBILITY_CONTROL_ATTRIBUTE = "SHAPE_VISIBILITY_CONTROL";    public final static String SHAPE_CONTROL_ATTRIBUTE = "SHAPE_CONTROL";    protected boolean showCrossingPoints = false;    protected boolean createPointCheck = false;    public static boolean DEBUG = false;    /**     *      */    public GeoIntersectionLayer() {        super();        DEBUG = Debug.debugging("geo");        shapeDA.getPropertyChangeSupport().addPropertyChangeListener(this);    }    public void setProperties(String prefix, Properties props) {        super.setProperties(prefix, props);        shapeDA.setProperties(prefix, props);        prefix = PropUtils.getScopedPropertyPrefix(prefix);        shapeDASelected.setProperties(prefix + "selected", props);        Vector v = PropUtils.parseSpacedMarkers(props.getProperty(prefix                + ShapeFileListProperty));        for (Iterator it = v.iterator(); it.hasNext();) {            String markerName = (String) it.next();            String shapeFileName = props.getProperty(prefix + markerName);            if (shapeFileName != null) {                File sf = new File(shapeFileName);                if (sf.exists()) {                    addShapeFile(sf);                }            }        }    }    public OMGraphicList prepare() {        OMGraphicList list = getList();        if (list == null) {            list = new OMGraphicList();            // If there isn't any data loaded, ask the user for a            // file.            if (fileDataList.size() == 0) {                addShapeFileFromUser();            }        } else {            list.clear();        }        // If we created any pixel intersection images before, time to        // get rid of them.        intersectionResultList.clear();        ExtentIndex rIndex = getRegionIndex(true);        for (Iterator it = drawnList.iterator(); it.hasNext();) {            OMGraphic omg = (OMGraphic) it.next();            if (omg instanceof OMLine                    || (omg instanceof OMPoly && !((OMPoly) omg).isPolygon())) {                if (DEBUG) {                    Debug.output("GeoIntersectLayer(" + getName()                            + "): Checking line against RegionIndex");                }                GeoPath path = getPathFromOMGraphic(omg);                Iterator intrsctns = null;                Iterator crssngs = null;                if (showCrossingPoints) {                    BoundaryCrossing.Collector results = BoundaryCrossing.getCrossings(path,                            rIndex);                    intrsctns = results.iterator();                    crssngs = results.getCrossings();                } else {                    intrsctns = Intersection.intersect(path, rIndex);                }                while (intrsctns.hasNext()) {                    OMPolyRegion ompr = (OMPolyRegion) intrsctns.next();                    setRegionAsSelected(ompr);                    if (DEBUG) {                        Debug.output("GeoIntersectLayer(" + getName()                                + "): Set Poly for hit");                    }                }                int num = 0;                while (crssngs != null && crssngs.hasNext()) {                    BoundaryCrossing bc = (BoundaryCrossing) crssngs.next();                    Geo geo = bc.getGeo();                    OMPoint pgeo = new OMPoint((float) geo.getLatitude(), (float) geo.getLongitude());                    pgeo.setFillPaint(Color.WHITE);                    pgeo.putAttribute(OMGraphic.LABEL,                            new OMTextLabeler(Integer.toString(num++)));                    intersectionResultList.add(pgeo);                }            } else if (omg instanceof OMPoly) {                for (Iterator hits = Intersection.intersect(new OMPolyRegion((OMPoly) omg),                        rIndex); hits.hasNext();) {                    setRegionAsSelected((OMPolyRegion) hits.next());                    if (DEBUG) {                        Debug.output("GeoIntersectLayer(" + getName()                                + "): Set Poly for hit");                    }                }            } else if (omg instanceof OMPoint) {                OMPoint omp = (OMPoint) omg;                for (Iterator hits = Intersection.intersect(new GeoPoint.Impl(omp.getLat(), omp.getLon()),                        rIndex); hits.hasNext();) {                    setRegionAsSelected((OMPolyRegion) hits.next());                    if (DEBUG) {                        Debug.output("GeoIntersectLayer(" + getName()                                + "): Set Poly for hit");                    }                }            }        }        list.add(intersectionResultList);        list.add(drawnList);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码精品一区二区三| 美女视频第一区二区三区免费观看网站| 蜜桃视频在线观看一区| 日韩精品最新网址| 国产麻豆欧美日韩一区| 亚洲视频一区在线观看| 91成人网在线| 粉嫩高潮美女一区二区三区 | 欧美群妇大交群中文字幕| 石原莉奈在线亚洲三区| 国产欧美1区2区3区| 日本道精品一区二区三区 | 欧美成人官网二区| 色综合天天在线| 香蕉成人啪国产精品视频综合网| 91一区二区在线| 蜜桃久久久久久久| 国产亚洲制服色| 91香蕉视频黄| 久久爱www久久做| 亚洲视频免费在线| 一区二区三区在线视频免费| 国产精品99久久久久久似苏梦涵 | 欧美性受xxxx| 91色视频在线| 日本精品裸体写真集在线观看| 99久久精品免费精品国产| 成人一区二区视频| 99久久夜色精品国产网站| 美国毛片一区二区| 亚洲va中文字幕| 午夜伦欧美伦电影理论片| 欧美国产禁国产网站cc| 久久久精品国产免费观看同学| 欧美一级日韩免费不卡| 国产九色精品成人porny| 免费在线看一区| 亚洲综合999| 亚洲综合免费观看高清在线观看| 国产欧美一区视频| 欧美高清在线视频| 亚洲欧美在线高清| 视频一区中文字幕国产| 亚洲影视资源网| 亚洲综合在线第一页| 午夜欧美大尺度福利影院在线看| 日本三级亚洲精品| 黄色日韩三级电影| av爱爱亚洲一区| 91久久精品一区二区三区| 欧美主播一区二区三区| 日韩欧美黄色影院| 久久久不卡网国产精品一区| 精品国产麻豆免费人成网站| 国产日韩av一区| 一级特黄大欧美久久久| 美女视频网站久久| 蜜臀91精品一区二区三区 | 久久精品亚洲精品国产欧美 | 亚洲婷婷综合久久一本伊一区| 国内精品伊人久久久久影院对白| 91精品国产91久久综合桃花| 首页综合国产亚洲丝袜| 91欧美激情一区二区三区成人| 6080国产精品一区二区| 亚洲人成伊人成综合网小说| 国产成人三级在线观看| 欧美一区国产二区| 五月天久久比比资源色| 在线免费观看不卡av| 欧美韩国日本一区| eeuss影院一区二区三区 | 成人免费看片app下载| 日韩精品中文字幕在线不卡尤物| 一区二区三区日韩欧美| 色综合久久88色综合天天6| 久久天天做天天爱综合色| 久久综合精品国产一区二区三区| 亚洲成a人v欧美综合天堂下载| 欧美精品18+| 国产精品66部| 洋洋成人永久网站入口| 欧美一区三区四区| 精品一区二区三区免费| 亚洲欧美日韩一区二区| 97se亚洲国产综合在线| 91国内精品野花午夜精品| 美女视频一区二区三区| 成人av在线资源| 成人国产电影网| 91精品国产综合久久国产大片| 日韩精品在线网站| 国产精品无圣光一区二区| 欧美日韩日日夜夜| 日韩av成人高清| 91电影在线观看| 洋洋成人永久网站入口| av亚洲精华国产精华精华| 国产精品私人自拍| 白白色亚洲国产精品| 久久综合九色综合97婷婷女人| 天天综合天天综合色| 色综合一个色综合亚洲| 国产精品不卡在线| 91麻豆123| 亚洲综合自拍偷拍| 色琪琪一区二区三区亚洲区| 亚洲免费在线看| 欧美视频在线播放| 日韩影院免费视频| 日韩视频国产视频| 波多野结衣中文字幕一区二区三区| 欧美一级片在线看| 日韩国产欧美在线观看| 亚洲午夜影视影院在线观看| 亚洲制服丝袜av| 久久综合九色综合欧美就去吻| 在线国产电影不卡| www.日本不卡| 午夜精品免费在线| 色综合天天综合狠狠| 欧美精品乱码久久久久久| 日本不卡在线视频| 国产精品卡一卡二卡三| 欧美日韩综合在线免费观看| 欧美二区乱c少妇| 国产精品超碰97尤物18| 免费三级欧美电影| 欧美刺激脚交jootjob| 在线观看不卡视频| 一本久久综合亚洲鲁鲁五月天| thepron国产精品| 成人精品免费看| 丁香六月综合激情| 91原创在线视频| 欧美亚洲综合色| 亚洲精品一区二区三区影院| 国产精品美女久久久久av爽李琼 | 美女任你摸久久| 国内精品伊人久久久久av一坑| 国产成人免费在线观看不卡| 色婷婷久久99综合精品jk白丝| 制服丝袜在线91| 欧美国产一区在线| 亚洲国产一区二区三区| 国内精品国产三级国产a久久| av在线不卡免费看| 91精品国产一区二区三区| 国产欧美视频在线观看| 一个色妞综合视频在线观看| 久99久精品视频免费观看| 91网站最新网址| 欧美成人精品二区三区99精品| 亚洲欧洲日产国码二区| 日本成人在线看| 色婷婷精品大视频在线蜜桃视频| 欧美一区二区日韩| 亚洲乱码日产精品bd| 国产美女视频91| 欧美日韩国产区一| 国产精品视频九色porn| 久久99久久99| 欧美日韩一区二区三区四区五区| 国产香蕉久久精品综合网| 日韩精品福利网| 一本色道久久综合亚洲aⅴ蜜桃 | 老司机免费视频一区二区| 色诱视频网站一区| 中日韩av电影| 久久成人免费网| 欧美群妇大交群中文字幕| 综合精品久久久| 成人在线一区二区三区| 欧美精品一区二区三区一线天视频 | 中文字幕一区二区三区在线观看| 理论电影国产精品| 欧美日韩国产首页在线观看| 亚洲卡通动漫在线| 不卡欧美aaaaa| 亚洲国产成人在线| 国产精品99久| 337p粉嫩大胆噜噜噜噜噜91av| 视频在线在亚洲| 欧美三级电影一区| 亚洲高清视频中文字幕| 色先锋资源久久综合| 亚洲日本va在线观看| 97aⅴ精品视频一二三区| 中文字幕不卡的av| 国产成人综合亚洲91猫咪| 久久九九全国免费| 国产精品123区| 国产女同性恋一区二区| 国产精品一品视频| 国产亚洲福利社区一区| 国产传媒一区在线| 国产精品福利av| 一本久久综合亚洲鲁鲁五月天| 综合激情成人伊人| 在线观看国产91|