97
\brief Fetch Projection
99
The returned values are the projection parameters in the same form returned
100
by PCIDSKGeoref::GetParameters() and the passed in geosys argument is
101
updated with the coordinate system string.
103
@return Projection parameters as a vector.
105
virtual std::vector<double> GetProjection( std::string &geosys ) = 0;
97
108
\brief Get field count.
99
110
Note that this includes any system attributes, like RingStart, that would
185
204
virtual void GetFields( ShapeId id,
186
205
std::vector<ShapeField>& list ) = 0;
209
\brief Set the projection for the segment.
211
For details on the geosys and parms values see the PCIDSKGeoref class.
213
@param geosys the usual 16 character coordinate system string.
214
@param parms additional parameters needed for user parametrized projection.
216
virtual void SetProjection(std::string geosys,
217
std::vector<double> parms ) = 0;
220
\brief Create new attribute field.
222
@param name the field name, should be unique in layer.
223
@param type the field type.
224
@param description the field description.
225
@param format the C style format string or "" for default formatting.
226
@param default_value the default value for this field or NULL for system default.
229
virtual void AddField( std::string name, ShapeFieldType type,
230
std::string description,
232
ShapeField *default_value=NULL ) = 0;
235
\brief Create a new shape.
237
Newly created shapes have no geometry or attribute values.
239
@param id The ShapeId to assign to the new shape, or default to assign the next available shapeid.
241
@return the shapeid assigned to the newly created shape.
244
virtual ShapeId CreateShape( ShapeId id = NullShapeId ) = 0;
247
\brief Delete a shape.
249
An exception is thrown if the shape does not exist.
251
@param id the shapeid to delete.
254
virtual void DeleteShape( ShapeId id ) = 0;
257
\brief Assign vertices to shape.
259
@param id the shape to assign vertices to.
260
@param list the list of vertices to assign.
263
virtual void SetVertices( ShapeId id,
264
const std::vector<ShapeVertex> &list ) = 0;
268
\brief Assign attribute value to a shape.
270
The list of fields should match the types and length from the schema
271
(GetFieldCount(), GetFieldType()).
273
@param id the shape to update.
274
@param list the list of field value to assign.
276
virtual void SetFields( ShapeId id,
277
const std::vector<ShapeField>& list) = 0;
189
283
/************************************************************************/