# Google Maps Engine API . tables . features

## Instance Methods

Delete all features matching the given IDs.

Append features to an existing table.

Update the supplied features.

Return a single feature, given its ID.

Return all features readable by the current user.

Retrieves the next page of results.

### Method Details

`batchDelete(id, body)`

    Delete all features matching the given IDs.

    Args:
      id: string, The ID of the table that contains the features to be deleted. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The request sent to features.BatchDelete.
        "gx_ids": [
          "A String",
        ],
        "primaryKeys": [
          "A String",
        ],
      }

`batchInsert(id, body)`

    Append features to an existing table.

    A single batchInsert request can create:

    - Up to 50 features.
    - A combined total of 10 000 vertices.
    Feature limits are documented in the Supported data formats and limits article of the Google Maps Engine help center. Note that free and paid accounts have different limits.

    For more information about inserting features, read Creating features in the Google Maps Engine developer's guide.

    Args:
      id: string, The ID of the table to append the features to. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The request sent to features.Insert.
        "normalizeGeometries": true, # If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.
        "features": [
          { # A feature within a table.
            "geometry": { # The geometry member of this Feature.
            },
            "type": "Feature", # Identifies this object as a feature.
            "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
              "a_key": "", # An arbitrary key-value pair. The key must be the name of a column in the table's schema, and the type of the value must correspond to the type specified in the schema.
            },
          },
        ],
      }

`batchPatch(id, body)`

    Update the supplied features.

    A single batchPatch request can update:

    - Up to 50 features.
    - A combined total of 10 000 vertices.
    Feature limits are documented in the Supported data formats and limits article of the Google Maps Engine help center. Note that free and paid accounts have different limits.

    Feature updates use HTTP PATCH semantics:

    - A supplied value replaces an existing value (if any) in that field.
    - Omitted fields remain unchanged.
    - Complex values in geometries and properties must be replaced as atomic units. For example, providing just the coordinates of a geometry is not allowed; the complete geometry, including type, must be supplied.
    - Setting a property's value to null deletes that property.
    For more information about updating features, read Updating features in the Google Maps Engine developer's guide.

    Args:
      id: string, The ID of the table containing the features to be patched. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The request sent to features.BatchPatch.
        "normalizeGeometries": true, # If true, the server will normalize feature geometries. It is assumed that the South Pole is exterior to any polygons given. See here for a list of normalizations. If false, all feature geometries must be given already normalized. The points in all LinearRings must be listed in counter-clockwise order, and LinearRings may not intersect.
        "features": [
          { # A feature within a table.
            "geometry": { # The geometry member of this Feature.
            },
            "type": "Feature", # Identifies this object as a feature.
            "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
              "a_key": "", # An arbitrary key-value pair. The key must be the name of a column in the table's schema, and the type of the value must correspond to the type specified in the schema.
            },
          },
        ],
      }

`get(tableId, id, version=None, select=None)`

    Return a single feature, given its ID.

    Args:
      tableId: string, The ID of the table. (required)
      id: string, The ID of the feature to get. (required)
      version: string, The table version to access. See Accessing Public Data for information.
        Allowed values
          draft - The draft version.
          published - The published version.
      select: string, A SQL-like projection clause used to specify returned properties. If this parameter is not included, all properties are returned.

    Returns:
      An object of the form:

        { # A feature within a table.
        "geometry": { # The geometry member of this Feature.
        },
        "type": "Feature", # Identifies this object as a feature.
        "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
          "a_key": "", # An arbitrary key-value pair. The key must be the name of a column in the table's schema, and the type of the value must correspond to the type specified in the schema.
        },
      }

`list(id, orderBy=None, intersects=None, pageToken=None, maxResults=None, version=None, limit=None, include=None, where=None, select=None)`

    Return all features readable by the current user.

    Args:
      id: string, The ID of the table to which these features belong. (required)
      orderBy: string, An SQL-like order by clause used to sort results. If this parameter is not included, the order of features is undefined.
      intersects: string, A geometry literal that specifies the spatial restriction of the query.
      pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
      maxResults: integer, The maximum number of items to include in the response, used for paging. The maximum supported value is 1000.
      version: string, The table version to access. See Accessing Public Data for information.
        Allowed values
          draft - The draft version.
          published - The published version.
      limit: integer, The total number of features to return from the query, irrespective of the number of pages.
      include: string, A comma separated list of optional data to include. Optional data available: schema.
      where: string, An SQL-like predicate used to filter results.
      select: string, A SQL-like projection clause used to specify returned properties. If this parameter is not included, all properties are returned.

    Returns:
      An object of the form:

        { # The response returned by a call to features.List.
        "nextPageToken": "A String", # Next page token.
        "allowedQueriesPerSecond": 3.14, # An indicator of the maximum rate at which queries may be made, if all queries were as expensive as this query.
        "type": "FeatureCollection",
        "features": [ # Resources returned.
          { # A feature within a table.
            "geometry": { # The geometry member of this Feature.
            },
            "type": "Feature", # Identifies this object as a feature.
            "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
              "a_key": "", # An arbitrary key-value pair. The key must be the name of a column in the table's schema, and the type of the value must correspond to the type specified in the schema.
            },
          },
        ],
        "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The feature schema.
          "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
          "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
          "columns": [ # An array of TableColumn objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
            {
              "type": "A String", # The type of data stored in this column.
              "name": "A String", # The column name.
            },
          ],
        },
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.