예제 #1
0
        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);
        }
예제 #2
0
        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));
            }
        }