首页 / 浏览问题 / 组件GIS / 问题详情
IObject java 转换arcgis矢量数据
50EXP 2019年05月06日
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3)))类似这样的面数据有Java API转为地理对象吗?

下面是.NET的

GeoRegion geoRegion = new GeoRegion();
    Point2DCollection p2Collection = null;
    if (pGeometry != null){
        ESRI.ArcGIS.Client.Geometry.Polygon gon = pGeometry as ESRI.ArcGIS.Client.Geometry.Polygon;
        foreach (ESRI.ArcGIS.Client.Geometry.PointCollection pCollection in gon.Rings){
            p2Collection = new Point2DCollection();
            foreach (MapPoint mp in pCollection){
                p2Collection.Add(new Point2D(mp.X, mp.Y));
            }
            geoRegion.Parts.Add(p2Collection);
        }
    }

1个回答

你好,你给的这些数据代表的是啥意思呢?你只需要获取到你的面数据的坐标,然后通过我们接口构造面数据
9,197EXP 2019年05月06日
该类用于描述面状地理实体,如行政区域,湖泊,居民地等,一般用一个或多个有序坐标点集合来表示。面几何对象由一个或多个部分组成,每个部分称为面几何对象的一个子对象,每个子对象用一个有序坐标点集合来表示,其起始点和终止点重合。可以对子对象进行添加,删除,修改等操作。

arcgis里的((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))里面有两组坐标点集合,是一个有洞的简单面,((6 3,9 2,9 4,6 3))也是一个简单面,一个简单面对应一个子对象吗还是一组坐标集合代表一个子对象。上述给的数据是一个多多边形,可以用addPart吗?
还是获取这些坐标点串来构建子对象,用GeoRegion.addPart()
一个多边形里面的一个空洞,我添加它为子对象时需要设置什么参数吗,还是直接addpart,比如向外裁剪(没用过IObject抱歉)(insertPart可以吗),idesktop里面添加一个空洞是向外裁剪后新增一个子对象
我们没有岛洞这个对象的说法,岛洞其实就是用一个小面去裁剪一个大面形成的,如果你想绘制岛洞的话可以用面对象去裁剪形成。
iobjects是有这种方法吧,谢啦!
...