许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Esri判断Point点是否在Geometry几何图形上的方法

Esri判断Point点是否在Geometry几何图形上的方法

阅读数 19
点赞 0
article_banner

------- mavn依赖 ------

<dependency>

               <groupId>com.esri.geometry</groupId>

               <artifactId>esri-geometry-api</artifactId>

               < version  >2.2.2</version>

     </dependency>

因为业务需要,所以我用了这个包;可能有人也需要,我这里就写了一个很简单的例子。

### 例如计算一个经纬度是否在某一个县内 ???

=============================================================================

package test;

import java.io.IOException;

import org.apache.log4j.Logger;

import com.esri.core.geometry.Geometry;

   import com.esri.core.geometry.OperatorContains;

   import com.esri.core.geometry.OperatorImportFromWkt;

   import com.esri.core.geometry.Point;

   import com.esri.core.geometry.SpatialReference;

   import com.esri.core.geometry.WktImportFlags;

   import com.fasterxml.jackson.core.JsonParseException;

public class Test {

       Logger logger = Logger.getLogger("WQJ.spark.Test");;

   public static void main( String  [] args) {

       Geometry p = (Geometry) createPoint1();

           try {

               Geometry pg = createPolygonFromWKT();
Boolean  b = geometryContains(pg,p,SpatialReference.create(4326));

               System.err.println(b);


           } catch (JsonParseException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

           } catch (IOException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

   }

   /**

        * 1、将基站 经纬度  建立成点要素

        *

        * @return

        * @time : 2019年1月8日下午3:42:11

        * @author :

        * @return :Point

        */

       static Point createPoint1() {

           Point pt = new Point(-106.4453583, 39.11775);

           return pt;

       }

   /**

        * 2、将区县的 边界 建立成面要素

        *

        * @return

        * @throws JsonParseException

        * @throws IOException

        * @time : 2019年1月8日下午3:42:18

        * @author :

        * @return :Polygon

        */

       static Geometry createPolygonFromWKT() throws JsonParseException,

               IOException {

           //请自行搜素了解wkt格式  

           String wktString = "MULTIPOLYGON (((0.1 0.7, 0.1 0.4, 0.3 0.4, 0.3 0.7, 0.1 0.7)),"

                   + "((0 0, 0.5 0, 1 0.5, 0.5 1, 0 1, -0.5 0.5, 0 0),"

                   + "(0.5 0.2, 0.2 0.3, 0.1 0.2, -0.2 0.5, 0.2 0.9, 0.6 0.5, 0.5 0.2)))";

       Geometry geom = OperatorImportFromWkt. local  ().execute(

                   WktImportFlags.wktImportDefaults, Geometry.Type.Polygon,

                   wktString, null);

       return geom;// (Polygon)geom;

       }

   /**

        * 3、判断基站点是否属于该区县

        *

        * @param geometryA

        * @param geometryB

        * @param sr

        * @return

        * @time : 2019年1月8日下午3:42:29

        * @author :

        * @return :boolean

        */

       static boolean geometryContains(Geometry geometryA, Geometry geometryB,

               SpatialReference sr) {

           boolean contains = OperatorContains.local().execute(geometryA,

                   geometryB, sr, null);

           return contains;

       }

   }


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空