栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

计算对象是否在一组坐标内?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算对象是否在一组坐标内?

您可以从这里开始:http :
//en.wikipedia.org/wiki/Point_in_polygon

您可能还会研究JTS拓扑套件。特别是使用此功能。

编辑 :这是使用JTS的示例:

import java.util.ArrayList;import com.vividsolutions.jts.geom.Coordinate;import com.vividsolutions.jts.geom.GeometryFactory;import com.vividsolutions.jts.geom.LinearRing;import com.vividsolutions.jts.geom.Point;import com.vividsolutions.jts.geom.Polygon;import com.vividsolutions.jts.geom.impl.CoordinateArraySequence;public class GeoTest {  public static void main(final String[] args) {    final GeometryFactory gf = new GeometryFactory();    final ArrayList<Coordinate> points = new ArrayList<Coordinate>();    points.add(new Coordinate(-10, -10));    points.add(new Coordinate(-10, 10));    points.add(new Coordinate(10, 10));    points.add(new Coordinate(10, -10));    points.add(new Coordinate(-10, -10));    final Polygon polygon = gf.createPolygon(new LinearRing(new CoordinateArraySequence(points        .toArray(new Coordinate[points.size()])), gf), null);    final Coordinate coord = new Coordinate(0, 0);    final Point point = gf.createPoint(coord);    System.out.println(point.within(polygon));  }}

这是使用AWT的示例(它更简单,是Java SE的一部分):

import java.awt.Polygon;public class JavaTest {  public static void main(final String[] args) {    final Polygon polygon = new Polygon();    polygon.addPoint(-10, -10);    polygon.addPoint(-10, 10);    polygon.addPoint(10, 10);    polygon.addPoint(10, -10);    System.out.println(polygon.contains(0, 0));  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号