首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理coverage外部生成的坐标

处理coverage外部生成的坐标
EN

Stack Overflow用户
提问于 2019-08-15 05:31:24
回答 1查看 69关注 0票数 1

有没有办法检查点/坐标是否可以处理下面描述的异常和问题。

我试着从网格覆盖(从栅格文件)创建一个信封,但似乎不起作用。

代码语言:javascript
复制
    GridCoverage2D c1 = geography.getCoverage("layer1"); // this is a raster layer
    Envelope2D e1 = c1.getEnvelope2D();
    DirectPosition pos = new DirectPosition2D(lat, lon);
    if(e1.contains(pos))
    //point is valid

尽管我检查了代码中所示的点位置,但还是得到了以下异常:

代码语言:javascript
复制
org.opengis.coverage.PointOutsideCoverageException: Coordinate (42.82, 10.608) is outside coverage.
at org.geotools.coverage.grid.GridCoverage2D.evaluate(GridCoverage2D.java:479)
at org.geotools.coverage.grid.GridCoverage2D.evaluate(GridCoverage2D.java:414)
at org.geotools.coverage.grid.GridCoverage2D.evaluate(GridCoverage2D.java:355)
EN

回答 1

Stack Overflow用户

发布于 2019-08-15 23:12:06

我认为您需要在DirectPosition2d构造函数中更改lat,lon的顺序,使其显示为:

代码语言:javascript
复制
DirectPosition pos = new DirectPosition2D(lon, lat); 

异常并不是从您发布的代码示例中抛出的,而是在稍后调用coverage.evaluate(pos)时发生的,因为位置实际上是无效的。默认情况下,Geotools需要(经度、经度)轴顺序-请参阅https://docs.geotools.org/latest/userguide/library/referencing/order.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57502346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档