`
wiselyman
  • 浏览: 2093953 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
Group-logo
点睛Spring4.1
浏览量:82327
74ae1471-94c5-3ae2-b227-779326b57435
点睛Spring MVC4...
浏览量:130788
社区版块
存档分类
最新评论

geotools判断一个点是否在多边形上

    博客分类:
  • gis
 
阅读更多

判断一个点是否在多边形上,GIS里经常要用的功能,但在平面几何上也是可用的。

 

这里借助大名鼎鼎的geotools实现

 

jar包依赖,pom.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wisely</groupId>
    <artifactId>point</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <geotools.version>13.1</geotools.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-geojson</artifactId>
            <version>${geotools.version}</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-geometry</artifactId>
            <version>${geotools.version}</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-epsg-hsql</artifactId>
            <version>${geotools.version}</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-jts-wrapper</artifactId>
            <version>${geotools.version}</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>maven2-repository.dev.java.net</id>
            <name>Java.net repository</name>
            <url>http://download.java.net/maven/2</url>
        </repository>
        <repository>
            <id>osgeo</id>
            <name>Open Source Geospatial Foundation Repository</name>
            <url>http://download.osgeo.org/webdav/geotools/</url>
        </repository>
    </repositories>


</project>

 

 代码

 String wktPoly = "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))"; //请自行搜素了解wkt格式
 String wktPoint = "POINT (30 30)";  
WKTReader reader = new WKTReader(JTSFactoryFinder.getGeometryFactory());
        GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(null);
Geometry point = reader.read(wktPoint);
Geometry poly = reader.read(wktPoly);
poly.contains(point); //返回true或false

 

 

 

0
0
分享到:
评论

相关推荐

    geotools 判断点线是否相交 用的jar包

    geotools 判断几何要素的交点 当时想到用的GDAL 但是 交点函数返回的对象总是null , 改用 GeoTools 这个库,需要用到jar 到官网上下载,主要是jts-core-1.16.0.jar

    geotools 地理编码工具类

    在geotools中,我们可以创建一个由多个经纬度界址点定义的多边形,这可以视为一个“面”。然后,通过将任意经纬度点转换为Point对象,我们可以通过点在面内的包含关系判断,来确定该点是否在这个区域内。这个过程...

    判断指定的经纬度坐标点是否落在指定的多边形区域内

    在矢量多边形区域中,一个坐标点的位置是否在区域内 算法: C#代码,适用于任意多边形(凹凸多边形),但是没有考虑实际误差范围的情况(应用在实际问题解决中,接近区域一定范围是可以忽略的,这个误差范围考虑后算法的...

    多边形点集排序--针对凸多边形,按逆时针方向进行排序

    1. **Graham's Scan**:首先选择一个最低点作为起点,然后按角度从小到大排序其余点,接着检查每个新点是否在当前线段的上方。如果是,则添加该点;如果不是,则丢弃。这样得到的序列就是逆时针的凸包。 2. **...

    利用gi根据经纬度解析城市名

    3. **空间查询**:使用`geotools`的SpatialQuery API,根据经纬度坐标在数据中查找包含该点的城市多边形或边界线。 4. **匹配过程**:通过比较经纬度坐标与城市边界的关系,确定最合适的匹配城市。这可能涉及到距离...

    shp文件解析java实现

    在IT行业中,尤其是在地理信息系统(GIS)领域,`shp`文件是一种常见的地理空间数据格式,用于存储矢量数据,如点、线和多边形。`shp`文件通常与`.dbf`(数据库文件)、`.prj`(投影信息文件)和其他辅助文件一起...

    jts_1.14.zip

    GeoTools是另一个开源的Java库,用于处理GIS数据。JTS作为其几何操作的底层引擎,为GeoTools提供了强大的空间计算能力。 **5. 文档和库依赖** "doc"目录可能包含JTS的API文档,帮助开发者了解如何使用其提供的接口...

    jts,JTS拓扑套件是一个用于创建和操作向量几何的Java库。.zip

    3. 几何比较:JTS提供了多种比较几何对象的方法,如判断两个几何对象是否相等、是否覆盖或包含其他对象等。 4. 地理算法:JTS实现了许多地理计算算法,如最近邻搜索、最短路径计算和泰森多边形生成。 5. 测试用例...

    JTS Developer Guide(JTS开发指南)

    它也被广泛地集成到了多种Java GIS项目中,例如GeoTools,这是一个开源的GIS工具包,广泛应用于Web GIS和桌面GIS领域。 在JTS的生态系统中,还存在另一个重要的项目——JSTS,它是一个JavaScript的端口,允许在...

    JTS 说明文档完整中文版

    1. **几何对象模型**:JTS提供了一系列的几何对象,如点、线、多边形等,这些对象遵循OGC(开放地理空间联盟)的标准,使得开发者可以方便地处理地理空间数据。 2. **数据结构与算法**:文档将详细介绍JTS如何存储...

    PostGis数据介绍技术+空间数据处理、查询、管理技术简单讲解

    4. **兼容性**:与多个桌面GIS软件(如ArcGIS、QGIS、uDig)和中间件服务器(如MapServer、GeoServer)兼容,并支持开发库(如GeoTools、OGRE、SRI ArcGIS)。 **数据读取与写入** 1. **psql语言**:通过PostgreSQL...

    osm-util:用于 OpenStreetMap (OSM) 的 Java 实用程序

    3. **地理空间查询**:osm-util 支持地理空间操作,比如查找某个坐标附近的节点、方式,或者判断一个几何对象是否位于另一个几何对象内等。 4. **数据转换**:该库可能包含将 OSM 数据转换为其他格式的功能,如 ...

Global site tag (gtag.js) - Google Analytics