FDO .NET API Reference | Feature Data Objects |
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. |