Example #1
0
/*!
  \brief Deletes feature at the given offset on level 1 (OGR interface)
  
  \param Map pointer Map_info structure
  \param offset offset of feature to be deleted
  
  \return  0 on success
  \return -1 on error
*/
int V1_delete_line_ogr(struct Map_info *Map, off_t offset)
{
#ifdef HAVE_OGR
    struct Format_info_ogr *ogr_info;
    
    G_debug(3, "V1_delete_line_ogr(), offset = %lu", (unsigned long) offset);

    ogr_info = &(Map->fInfo.ogr);
    
    if (!ogr_info->layer) {
	G_warning(_("OGR layer not defined"));
	return -1;
    }
    
    if (offset >= ogr_info->offset.array_num) {
	G_warning(_("Invalid offset (%d)"), offset);
	return -1;
    }
    
    if (OGR_L_DeleteFeature(ogr_info->layer,
			    ogr_info->offset.array[offset]) != OGRERR_NONE)
	G_warning(_("Unable to delete feature"));
	return -1;
    
    return 0;
#else
    G_fatal_error(_("GRASS is not compiled with OGR support"));
    return -1;
#endif
}
Example #2
0
/*!
  \brief Deletes feature at the given offset (level 1)

  \param Map pointer Map_info structure
  \param offset feature offset

  \return  0 on success
  \return -1 on error
*/
int V1_delete_line_ogr(struct Map_info *Map, off_t offset)
{
    G_debug(3, "V1_delete_line_ogr(), offset = %lu", (unsigned long) offset);

    if (!Map->fInfo.ogr.layer) {
        G_warning(_("OGR layer not defined"));
        return -1;
    }

    if (offset >= Map->fInfo.ogr.offset_num)
        return -1;

    if (OGR_L_DeleteFeature(Map->fInfo.ogr.layer, Map->fInfo.ogr.offset[offset]) != OGRERR_NONE)
        return -1;

    return 0;
}