FDO .NET API Reference Feature Data Objects

mgICreateSpatialContext.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\Commands\mgICommand.h"
00022 #include "FDO\Commands\SpatialContext\mgSpatialContextExtentType.h"
00023 
00024 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT
00025 
00026 /// \ingroup (OSGeoFDOCommandsSpatialContext)
00027 /// \interface OSGeo::FDO::Commands::SpatialContext::ICreateSpatialContext
00028 /// \brief
00029 /// The ICreateSpatialContext interface defines the CreateSpatialContext
00030 /// command, which creates a new spatial context. Input to the command includes
00031 /// the name, description, coordinate system, extent type, and extent for the
00032 /// new context. Command execution will fail if the context already exists, or
00033 /// if the coordinate system or extent type is not supported by the provider.
00034 /// <p><b>Note:</b> The geographic extent of a coordinate system should generally be
00035 /// defined as an envelope (or bounding box). However, any geometry type that
00036 /// falls into the surface geometric types can be used (e.g., polygons). If a
00037 /// non-rectangular area is passed in and the provider supports only a
00038 /// rectangular extent, the provider will compute the minimum box that
00039 /// encloses the given geometry and use that for the extent value.
00040 public __gc __interface ICreateSpatialContext : public NAMESPACE_OSGEO_FDO_COMMANDS::ICommand
00041 {
00042 public:
00043     /// \brief
00044     /// Gets the name of the context to create as a string.
00045     /// 
00046     /// \return
00047     /// Returns the name of the spatial context
00048     /// 
00049     __property System::String* get_Name();
00050 
00051     /// \brief
00052     /// Sets the name of the context to create as a string.
00053     /// 
00054     /// \param value 
00055     /// Input the name of the spatial context
00056     /// 
00057     /// \return
00058     /// Returns nothing
00059     /// 
00060     __property System::Void set_Name(System::String* value);
00061 
00062     /// \brief
00063     /// Gets the description of the context to create as a string.
00064     /// 
00065     /// \return
00066     /// Returns the description of the spatial context
00067     /// 
00068     __property System::String* get_Description();
00069 
00070     /// \brief
00071     /// Sets the description of the context to create as a string.
00072     /// 
00073     /// \param value 
00074     /// Input the description of the spatial context
00075     /// 
00076     /// \return
00077     /// Returns nothing
00078     /// 
00079     __property System::Void set_Description(System::String* value);
00080 
00081     /// \brief
00082     /// Gets the coordinate system of the context to create as a string
00083     /// in OpenGIS SRS WKT format.
00084     /// 
00085     /// \return
00086     /// Returns the coordinate system
00087     /// 
00088     __property System::String* get_CoordinateSystem();
00089 
00090     /// \brief
00091     /// Sets the coordinate system of the context to create as a string in
00092     /// OpenGIS SRS WKT format.
00093     /// 
00094     /// \param value 
00095     /// Input the coordinate system
00096     /// 
00097     /// \return
00098     /// Returns nothing
00099     /// 
00100     __property System::Void set_CoordinateSystem(System::String* value);
00101 
00102     /// \brief
00103     /// Gets the coordinate system definition in OGC SRS WKT format for the 
00104     /// spatial context currently being created. If the result is an empty string, 
00105     /// the coordinate system WKT description has not been set.
00106     /// 
00107     /// \return
00108     /// Returns the coordinate system description in WKT of of the spatial context.
00109     /// 
00110     __property System::String* get_CoordinateSystemWkt();
00111 
00112     /// \brief
00113     /// Sets the coordinate system definition in OGC SRS WKT 
00114     /// format for the spatial context currently being created.
00115     /// 
00116     /// \param value 
00117     /// Input the coordinate system WKT
00118     /// 
00119     /// \return
00120     /// Returns nothing
00121     /// 
00122     __property System::Void set_CoordinateSystemWkt(System::String* value);
00123 
00124     /// \brief
00125     /// Gets the desired extent type of the context to create, either static or dynamic.
00126     /// 
00127     /// \return
00128     /// Returns the extent type
00129     /// 
00130     __property NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::SpatialContextExtentType get_ExtentType();
00131 
00132     /// \brief
00133     /// Sets the desired extent type of the context to create, either static or dynamic.
00134     /// 
00135     /// \param value 
00136     /// Input the extent type
00137     /// 
00138     /// \return
00139     /// Returns nothing
00140     /// 
00141     __property System::Void set_ExtentType(NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::SpatialContextExtentType value);
00142 
00143     /// \brief
00144     /// Gets the extent of the context to create as a byte array in FGF format.
00145     /// If the extent type is dynamic, any value specified via this function is ignored.
00146     /// 
00147     /// \return
00148     /// Returns the extent of the spatial context
00149     /// 
00150     __property System::Byte get_Extent() [];
00151 
00152     /// \brief
00153     /// Sets the extent of the context to create as a byte array in FGF format.
00154     /// If the extent type is dynamic this is optional and any value specified is ignored.
00155     /// 
00156     /// \param buffer 
00157     /// Input the extent of the spatial context
00158     /// 
00159     /// \return
00160     /// Returns nothing
00161     /// 
00162     __property System::Void set_Extent(System::Byte buffer[]);
00163 
00164     /// \brief
00165     /// Gets the tolerance value to use for X/Y ordinates. Tolerances are used
00166     /// in some geometric tests, mostly for equality between coordinates.  This
00167     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00168     /// touching" conditions.  It is also an objective amount that can be used
00169     /// when formulating step distances for parametric curve interpolation.
00170     /// 
00171     /// \return
00172     /// Returns the tolerance
00173     /// 
00174     __property System::Double get_XYTolerance();
00175 
00176     /// \brief
00177     /// Sets the tolerance value to use for X/Y ordinates. Tolerances are used
00178     /// in some geometric tests, mostly for equality between coordinates.  This
00179     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00180     /// touching" conditions.  It is also an objective amount that can be used
00181     /// when formulating step distances for parametric curve interpolation.
00182     /// 
00183     /// \param value 
00184     /// Input the tolerance
00185     /// 
00186     /// \return
00187     /// Returns nothing
00188     /// 
00189     __property System::Void set_XYTolerance(System::Double value);
00190 
00191     /// \brief
00192     /// Gets the tolerance value to use for Z ordinates. Tolerances are used in
00193     /// some geometric tests, mostly for equality between coordinates.  This
00194     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00195     /// touching" conditions.  It is also an objective amount that can be used
00196     /// when formulating step distances for parametric curve interpolation.
00197     /// 
00198     /// \return
00199     /// Returns the tolerance
00200     /// 
00201     __property System::Double get_ZTolerance();
00202     /// \brief
00203     /// Sets the tolerance value to use for Z ordinates. Tolerances are used in
00204     /// some geometric tests, mostly for equality between coordinates.  This
00205     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00206     /// touching" conditions.  It is also an objective amount that can be used
00207     /// when formulating step distances for parametric curve interpolation.
00208     /// 
00209     /// \param value 
00210     /// Input the tolerance
00211     /// 
00212     /// \return
00213     /// Returns nothing
00214     /// 
00215     __property System::Void set_ZTolerance(System::Double value);
00216 
00217     /// \brief
00218     /// Gets a Boolean flag that indicates how the CreateSpatialContext command
00219     /// should behave if the spatial context already exists. If update existing
00220     /// is true and a spatial context with the specified name already exists
00221     /// then it will be updated. If update existing is false and a spatial
00222     /// context with the specified name already exists, command execution
00223     /// will fail.
00224     /// 
00225     /// \return
00226     /// Returns true if command should update existing contexts
00227     /// 
00228     __property System::Boolean get_UpdateExisting();
00229 
00230     /// \brief
00231     /// Sets a Boolean flag that indicates how the CreateSpatialContext command
00232     /// should behave if the spatial context already exists. If update existing
00233     /// is true and a spatial context with the specified name already exists
00234     /// then it will be updated. If update existing is false and a spatial
00235     /// context with the specified name already exists, command execution
00236     /// will fail.
00237     /// 
00238     /// \param value 
00239     /// Input true if existing contexts should be updated
00240     /// 
00241     /// \return
00242     /// Returns nothing
00243     /// 
00244     __property System::Void set_UpdateExisting(System::Boolean value);
00245 
00246     /// \brief
00247     /// Executes the CreateSpatialContext command. An exception is thrown if
00248     /// the spatial context already exists, or if the coordinate system or
00249     /// extent type is not supported by the provider.
00250     /// 
00251     /// \return
00252     /// Returns nothing
00253     /// 
00254     System::Void Execute();
00255 };
00256 
00257 END_NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT
00258 
00259 

Comments or suggestions? Send us feedback.