JTS空间分析工具包(GIS开源)学习 JAVA

JST空间分析工具包是一套JAVA API,提供一系列的空间数据分析操作。最近开发项目刚好需要用到,上网搜资料也少,就自己写下来记录一下。C++版本的拓扑分析开源工具叫:geos;.NET版本的拓扑分析开源工具叫:NTS

1.下载

工具包下载地址:点击打开链接

2.学习资料

  • 工具包里的官方入门文档:doc文件夹里的JTS Developer Guide.pdf。下载地址
  • 官方API:jts-1.14\doc\javadoc\index.html

3.示例

(开发之前先引入lib文件夹内的所有JAR)

以两个多边形判断是否相交为例:

package com.jts;

import com.vividsolutions.jts.JTSVersion;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;

public class 四边形求交1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Coordinate[] coordinates1 = new Coordinate[]{
        		new Coordinate(117.2,34.8),new Coordinate(122.2,34.8),
        		new Coordinate(122.2,31.5),new Coordinate(117.2,31.5),new Coordinate(117.2,34.8)
        };
        Coordinate[] coordinates2 = new Coordinate[]{
        		new Coordinate(118.9,33.8),new Coordinate(120.8,33.8),
        		new Coordinate(120.8,32.6),new Coordinate(118.9,32.6),new Coordinate(118.9,33.8)
        };
//        Coordinate[] coordinates2 = new Coordinate[]{
//        		new Coordinate(1,1),new Coordinate(2,2),
//        		new Coordinate(3,3),new Coordinate(4,4),new Coordinate(1,1)
//        };
        Geometry g1 = new GeometryFactory().createPolygon(coordinates1);
        Geometry g2 = new GeometryFactory().createPolygon(coordinates2);
        
        boolean isIter = g1.intersects(g2);

        if(isIter)System.out.println("相交");
        else System.out.println("不相交");
        
        
	}

}

结果如图:



posted @ 2017-05-16 19:23  huahai  阅读(2127)  评论(0编辑  收藏  举报