当前位置: 首页>>代码示例>>C#>>正文


C# GeoPoint.isValid方法代码示例

本文整理汇总了C#中GeoPoint.isValid方法的典型用法代码示例。如果您正苦于以下问题:C# GeoPoint.isValid方法的具体用法?C# GeoPoint.isValid怎么用?C# GeoPoint.isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GeoPoint的用法示例。


在下文中一共展示了GeoPoint.isValid方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: intersects

        /**
         * Returns true if a point falls within the extent.
         * @param input
         *      Point to test against extent rectangle.
         */
        public bool intersects(GeoPoint input)
        {
            if (isValid() && input.isValid() && !isEmpty())
            {
                if (isInfinite())
                    return true;

                GeoPoint point = sw.getSRS().transform(input);

                return
                    point.isValid() &&
                    (point.X >= sw.X || Math.Abs(point.X - sw.X) < EPSILON) &&
                    (point.X <= ne.X || Math.Abs(point.X - ne.X) < EPSILON) &&
                    (point.Y >= sw.Y || Math.Abs(point.Y - sw.Y) < EPSILON) &&
                    (point.Y <= ne.Y || Math.Abs(point.Y - ne.Y) < EPSILON);
                //point.x() >= sw.x() && point.x() <= ne.x() &&
                //point.y() >= sw.y() && point.y() <= ne.y();
            }

            return false;
        }
开发者ID:agustinsantos,项目名称:mogregis3d,代码行数:26,代码来源:GeoExtend.cs

示例2: contains

        /**
         * Returns true if a point falls within this extent.
         * @param input
         *      Point to test against this extent.
         */
        public bool contains(GeoPoint input)
        {
            if (isInfinite() && input.isValid())
                return true;

            if (!isValid() || !input.isValid())
                return false;

            GeoPoint p = getSRS().transform(input);
            if (!p.isValid())
                return false;

            return
                (sw.X <= p.X || Math.Abs(sw.X - p.X) < EPSILON) &&
                (p.X <= ne.X || Math.Abs(p.X - ne.X) < EPSILON) &&
                (sw.Y <= p.Y || Math.Abs(sw.Y - p.Y) < EPSILON) &&
                (p.Y <= ne.Y || Math.Abs(p.Y - ne.Y) < EPSILON);

            //return sw.x() <= p.x() && p.x() <= ne.x() && sw.y() <= p.y() && p.y() <= ne.y();
        }
开发者ID:agustinsantos,项目名称:mogregis3d,代码行数:25,代码来源:GeoExtend.cs

示例3: expandToInclude

        /**
         * Modified this extent to include a point.
         * @param point
         *      Point to include.
         */
        public void expandToInclude(GeoPoint input)
        {
            if (!isValid() || !input.isValid())
            {
                //TODO osgGIS::notify( osg::WARN ) << "GeoExtent::expandToInclude: Illegal: either the extent of the input point is invalid" << std::endl;
                return;
            }

            if (!isInfinite())
            {
                if (isEmpty())
                {
                    ne = sw = input;
                }
                else
                {
                    GeoPoint new_point = getSRS().transform(input);
                    if (new_point.isValid())
                    {
                        double xmin = sw.X;
                        double ymin = sw.Y;
                        double xmax = ne.X;
                        double ymax = ne.Y;

                        if (new_point.X < xmin)
                            xmin = new_point.X;
                        if (new_point.X > xmax)
                            xmax = new_point.X;
                        if (new_point.Y < ymin)
                            ymin = new_point.Y;
                        if (new_point.Y > ymax)
                            ymax = new_point.Y;

                        sw.set((float)xmin, (float)ymin, (float)sw.Z);
                        ne.set((float)xmax, (float)ymax, (float)ne.Z);
                    }
                    else
                    {
                        //TODO osgGIS::notify( osg::WARN )
                        //     << "GeoExtent::expandToInclude: "
                        //     << "Unable to reproject coordinates" << std::endl;
                    }
                }
            }

            recalc();
        }
开发者ID:agustinsantos,项目名称:mogregis3d,代码行数:52,代码来源:GeoExtend.cs

示例4: getCursor

 /**
  * Gets a cursor that will iterate over all the features whose shapes
  * intersect the specified point.
  *
  * @return
  *      A cursor for iterating over search results
  */
 public FeatureCursor getCursor(GeoPoint point)
 {
     if (point.isValid())
     {
         assertSpatialIndex();
         return index.getCursor(new GeoExtent(point, point), true);
     }
     else
     {
         return new FeatureCursor(); // empty
     }
 }
开发者ID:agustinsantos,项目名称:mogregis3d,代码行数:19,代码来源:FeatureLayer.cs


注:本文中的GeoPoint.isValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。