zhyiwww
用平实的笔,记录编程路上的点点滴滴………
posts - 536,comments - 394,trackbacks - 0

近段,在学习geotools,去实现一些空间的运算。
下面的一段程序,实现了求得空间两条线的交点的程序,仅仅是一个demo,所以,就固定了两个线段的坐标,然后去求其交点。
需要导入geotools下的包,其实主要是用的是JTS。


package com.cybersoftchina.jts.demo;

import java.util.ArrayList;
import java.util.List;

import org.geotools.geometry.jts.FactoryFinder;

import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.io.ParseException;
import com.vividsolutions.jts.io.WKTReader;

public class LineCross {

    public void getCrossPoints() {   
       
       
         Coordinate[] coordinates = new Coordinate[] {
         new Coordinate(116.29440, 39.90131),
         new Coordinate(116.41457, 39.84741) };
         Geometry g1 = new GeometryFactory().createLineString(coordinates);
       
         Coordinate[] coordinates1 = new Coordinate[] {
         new Coordinate(116.42418, 39.9136),
         new Coordinate(116.26968, 39.8395) };
         Geometry g2 = new GeometryFactory().createLineString(coordinates1);
       
         Geometry g = g1.intersection(g2);
         System.out.println(g);

       
       
    }

    public void lineCross(){
       
       
       
    }
   
    public static void main(String[] args) {
        LineCross lc = new LineCross();
        lc.getCrossPoints();
    }

}

程序运行,返回的结果是:
POINT (116.34822145369408 39.87716939623774)
如果没有交点,那么返回的结果会告诉你是empty.




|----------------------------------------------------------------------------------------|
                           版权声明  版权所有 @zhyiwww
            引用请注明来源 http://www.blogjava.net/zhyiwww   
|----------------------------------------------------------------------------------------|
posted on 2008-06-06 09:47 zhyiwww 阅读(976) 评论(0)  编辑  收藏 所属分类: gis

只有注册用户登录后才能发表评论。


网站导航: