コード例 #1
0
        protected override PrimitiveSpatialResult QueryPrimitivesInternal(PrimitiveSpatialQuery specification, bool uniqueEntities, DataSource.QueryProgress progress)
        {
            GeometryQueryRegion region = specification.SpatialFilter.Region as GeometryQueryRegion;

            TileLevelOfDetail tileLevel = (TileLevelOfDetail)host.WorldEngine.ScaleRanges.ScaleToTileLevelOfDetailValue(specification.SpatialFilter.GeometryOptions.Scale);


            if (region != null)
            {
                Box2 regionBox = region.Geometry as Box2;
                if (regionBox != null)
                {
                    int    levelValue = (int)tileLevel.Value > 5 ? (int)tileLevel.Value : 5;
                    double iconSize   = 64.0 / Math.Pow(2, levelValue);
                    this.step = iconSize / 2.0;

                    RasterPatch2 rasterPatch = probesHelper.GetTilePatch(pointSet, regionBox, iconSize);

                    if (rasterPatch != null)
                    {
                        PrimitiveSpecification spec = new PrimitiveSpecification(entity,
                                                                                 this.Ontology.PrimitiveTypes["RasterPatch"], rasterPatch);
                        SimplePrimitive primitive = new SimplePrimitive(this, spec);
                        return(new SingleImageResult(primitive));
                    }
                }
            }

            return(new SingleImageResult(null));
        }
コード例 #2
0
        protected override PrimitiveSpatialResult QueryPrimitivesInternal(PrimitiveSpatialQuery specification, bool uniqueEntities, DataSource.QueryProgress progress)
        {
            GeometryQueryRegion region = specification.SpatialFilter.Region as GeometryQueryRegion;

            if (region != null)
            {
                Box2 regionBox = region.Geometry as Box2;
                if (regionBox != null)
                {
                    RasterPatch2 rasterPatch = null;
                    if (isWarped)
                    {
                        colorMapHelper = new ColorMapHelper(wfield, regionBox, minT, maxT);
                        rasterPatch    = colorMapHelper.GetWarpedTilePatch();

                        minT = colorMapHelper.MinT;
                        maxT = colorMapHelper.MaxT;
                    }
                    else
                    {
                        colorMapHelper = new ColorMapHelper(field, regionBox, minT, maxT);
                        rasterPatch    = colorMapHelper.GetTilePatch();

                        minT = colorMapHelper.MinT;
                        maxT = colorMapHelper.MaxT;
                    }
                    if (rasterPatch != null)
                    {
                        PrimitiveSpecification spec = new PrimitiveSpecification(entity,
                                                                                 this.Ontology.PrimitiveTypes["RasterPatch"], rasterPatch);
                        SimplePrimitive primitive = new SimplePrimitive(this, spec);
                        return(new SingleImageResult(primitive));
                    }
                }
            }
            else
            {
            }

            return(new SingleImageResult(null));
        }
コード例 #3
0
        protected override PrimitiveSpatialResult QueryPrimitivesInternal(PrimitiveSpatialQuery specification, bool uniqueEntities, DataSource.QueryProgress progress)
        {
            GeometryQueryRegion region = specification.SpatialFilter.Region as GeometryQueryRegion;

            TileLevelOfDetail tileLevel = (TileLevelOfDetail)host.WorldEngine.ScaleRanges.ScaleToTileLevelOfDetailValue(specification.SpatialFilter.GeometryOptions.Scale);


            if (region != null)
            {
                Box2 regionBox = region.Geometry as Box2;
                if (regionBox != null)
                {
                    int levelValue = (int)tileLevel.Value > 5 ? (int)tileLevel.Value : 5;
                    double iconSize = 32.0 / Math.Pow(2, levelValue);
                    step = iconSize / 2.0;

                    RasterPatch2 rasterPatch = null;
                    switch (dataType)
                    {
                        case DSDataType.TwoDim:
                            rasterPatch = probesHelper.GetTilePatch(wfield, regionBox, iconSize);
                            break;
                        case DSDataType.Table:
                            levelValue = (int)tileLevel.Value > 6 ? (int)tileLevel.Value : 6;
                            iconSize = 32.0 / Math.Pow(2, levelValue);
                            rasterPatch = probesHelper.GetTilePatch(pointSet, regionBox, iconSize);
                            break;
                        default: break;
                    }

                    if (rasterPatch != null)
                    {
                        PrimitiveSpecification spec = new PrimitiveSpecification(entity,
                        this.Ontology.PrimitiveTypes["RasterPatch"], rasterPatch);
                        SimplePrimitive primitive = new SimplePrimitive(this, spec);
                        Trace.WriteLine("Tile is ready.");

                        return new SingleImageResult(primitive);
                    }
                }
            }

            return new SingleImageResult(null);
        }
コード例 #4
0
        protected override PrimitiveSpatialResult QueryPrimitivesInternal(PrimitiveSpatialQuery specification, bool uniqueEntities, DataSource.QueryProgress progress)
        {

            GeometryQueryRegion region = specification.SpatialFilter.Region as GeometryQueryRegion;
            if (region != null)
            {
                Box2 regionBox = region.Geometry as Box2;
                if (regionBox != null)
                {
                    RasterPatch2 rasterPatch = null;
                    if (isWarped)
                    {
                        colorMapHelper = new ColorMapHelper(wfield, regionBox, minT, maxT);
                        rasterPatch = colorMapHelper.GetWarpedTilePatch();

                        minT = colorMapHelper.MinT;
                        maxT = colorMapHelper.MaxT;
                    }
                    else
                    {
                        colorMapHelper = new ColorMapHelper(field, regionBox, minT, maxT);
                        rasterPatch = colorMapHelper.GetTilePatch();

                        minT = colorMapHelper.MinT;
                        maxT = colorMapHelper.MaxT;
                    }
                    if (rasterPatch != null)
                    {
                        PrimitiveSpecification spec = new PrimitiveSpecification(entity,
                        this.Ontology.PrimitiveTypes["RasterPatch"], rasterPatch);
                        SimplePrimitive primitive = new SimplePrimitive(this, spec);
                        return new SingleImageResult(primitive);

                    }
                }
            }
            else
            {

            }

            return new SingleImageResult(null);
        }