public com.esri.ags.Feature featureToPolygon(IFeature feat) { // first, reproject the geometry to web projection for use in Flex/Silverlight/Javascript apps IGeometry m_geom = feat.Shape; m_geom.Project(m_PCSout as ISpatialReference); com.esri.ags.geometry.Polygon pg = extractPolygon(m_geom); Hashtable attributes = extractAttributes(feat); return(new com.esri.ags.Feature(pg, (object)attributes)); }
private com.esri.ags.geometry.Polygon extractPolygon(IGeometry geom) { Polygon poly = (Polygon)geom; int count = poly.PointCount; com.esri.ags.geometry.MapPoint[] mp = new com.esri.ags.geometry.MapPoint[count]; for (int i = 0; i < count; i++) { IPoint pt = poly.get_Point(i); mp[i] = new com.esri.ags.geometry.MapPoint(pt.X, pt.Y, m_sr); } com.esri.ags.geometry.Polygon pg = new com.esri.ags.geometry.Polygon(); pg.rings = new com.esri.ags.geometry.MapPoint[1][]; pg.rings[0] = mp; return(pg); }
private com.esri.ags.geometry.Polygon extractPolygon(IGeometry geom) { Polygon poly = (Polygon)geom; int count = poly.PointCount; com.esri.ags.geometry.MapPoint[] mp = new com.esri.ags.geometry.MapPoint[count]; for (int i = 0; i < count; i++) { IPoint pt = poly.get_Point(i); mp[i] = new com.esri.ags.geometry.MapPoint(pt.X, pt.Y, m_sr); } com.esri.ags.geometry.Polygon pg = new com.esri.ags.geometry.Polygon(); pg.rings = new com.esri.ags.geometry.MapPoint[1][]; pg.rings[0] = mp; return pg; }