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

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

博客分类:  gis
 

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

 

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

 

jar包依赖,pom.xml

 

Java代码   收藏代码
  1. "1.0" encoding="UTF-8"?>  
  2. "http://maven.apache.org/POM/4.0.0"  
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  5.     4.0.0  
  6.   
  7.     com.wisely  
  8.     point  
  9.     1.0-SNAPSHOT  
  10.       
  11.         UTF-8  
  12.         13.1  
  13.       
  14.   
  15.       
  16.           
  17.             org.geotools  
  18.             gt-geojson  
  19.             ${geotools.version}  
  20.           
  21.           
  22.             org.geotools  
  23.             gt-geometry  
  24.             ${geotools.version}  
  25.           
  26.           
  27.             org.geotools  
  28.             gt-epsg-hsql  
  29.             ${geotools.version}  
  30.           
  31.           
  32.             org.geotools  
  33.             gt-jts-wrapper  
  34.             ${geotools.version}  
  35.           
  36.       
  37.   
  38.       
  39.           
  40.             maven2-repository.dev.java.net  
  41.             Java.net repository  
  42.             http://download.java.net/maven/2  
  43.           
  44.           
  45.             osgeo  
  46.             Open Source Geospatial Foundation Repository  
  47.             http://download.osgeo.org/webdav/geotools/  
  48.           
  49.       
  50.   
  51.   
  52.   

 

 代码

Java代码   收藏代码
  1.  String wktPoly = "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))"//请自行搜素了解wkt格式  
  2.  String wktPoint = "POINT (30 30)";    
  3. WKTReader reader = new WKTReader(JTSFactoryFinder.getGeometryFactory());  
  4.         GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(null);  
  5. Geometry point = reader.read(wktPoint);  
  6. Geometry poly = reader.read(wktPoly);  
  7. poly.contains(point); //返回true或false  

你可能感兴趣的:(gis)