private IMultiPoint ReadMultiPoint(int dim, int lrsDim, SdoGeometry sdoGeom) { Double[] ordinates = sdoGeom.getOrdinates().getOrdinateArray(); ICoordinateSequence cs = ConvertOrdinateArray(ordinates, sdoGeom); IMultiPoint multipoint = factory.CreateMultiPoint(cs); multipoint.SRID = (int)sdoGeom.Sdo_Srid; return(multipoint); }
private Double[] ExtractOrdinatesOfElement(int element, SdoGeometry sdoGeom, bool hasNextSE) { int start = (int)sdoGeom.ElemArray[element * 3]; if ((element * 3) < sdoGeom.ElemArray.Length - 1) { int end = (int)sdoGeom.ElemArray[(element + 1) * 3]; // if this is a subelement of a compound geometry, // the last point is the first point of // the next subelement. if (hasNextSE) { end += sdoGeom.Dimensionality; } return(sdoGeom.getOrdinates().getOrdinatesArray(start, end)); } else { return(sdoGeom.getOrdinates().getOrdinatesArray(start)); } }