def enrich(self,
               studyAreas,
               dataCollections=None,
               analysisVariables=None,
               addDerivativeVariables="all",
               studyAreasOptions=None,
               useData=None,
               intersectingGeographies=None,
               returnGeometry=False,
               inSR=4326,
               outSR=4326,
               suppressNullValues=False,
               forStorage=True
               ):
        """
        The GeoEnrichment service uses the concept of a study area to
        define the location of the point or area that you want to enrich
        with additional information. If one or many points are input as
        a study area, the service will create a 1-mile ring buffer around
        the point to collect and append enrichment data. You can optionally
        change the ring buffer size or create drive-time service areas
        around the point. The most common method to determine the center
        point for a study areas is a set of one or many point locations
        defined as XY locations. More specifically, one or many input
        points (latitude and longitude) can be provided to the service to
        set the study areas that you want to enrich with additional
        information. You can create a buffer ring or drive-time service
        area around the points to aggregate data for the study areas. You
        can also return enrichment data for buffers around input line
        features.

        Inputs:
           studyAreas - Required parameter to specify a list of input
              features to be enriched. Study areas can be input XY point
              locations.
           dataCollections - A Data Collection is a preassembled list of
              attributes that will be used to enrich the input features.
              Enrichment attributes can describe various types of
              information such as demographic characteristics and
              geographic context of the locations or areas submitted as
              input features in studyAreas.
           analysisVariables - A Data Collection is a preassembled list of
              attributes that will be used to enrich the input features.
              With the analysisVariables parameter you can return a subset
              of variables Enrichment attributes can describe various types
              of information such as demographic characteristics and
              geographic context of the locations or areas submitted as
              input features in studyAreas.
           addDerivativeVariables - Optional parameter to specify an array
              of string values that describe what derivative variables to
              include in the output.
           studyAreasOptions - Optional parameter to specify enrichment
              behavior. For points described as map coordinates, a 1-mile
              ring area centered on each site will be used by default. You
              can use this parameter to change these default settings.
              With this parameter, the caller can override the default
              behavior describing how the enrichment attributes are
              appended to the input features described in studyAreas. For
              example, you can change the output ring buffer to 5 miles,
              change the number of output buffers created around each point,
              and also change the output buffer type to a drive-time service
              area rather than a simple ring buffer.
           useData - Optional parameter to explicitly specify the country
              or dataset to query.
           intersectingGeographies - Optional parameter to explicitly
              define the geographic layers used to provide geographic
              context during the enrichment process. For example, you can
              use this optional parameter to return the U.S. county and ZIP
              Code that each input study area intersects.
              You can intersect input features defined in the studyAreas
              parameter with standard geography layers that are provided by
              the GeoEnrichment service for each country. You can also
              intersect features from a publicly available feature service.
           returnGeometry - Optional parameter to request the output
              geometries in the response.
              When this parameter is set to true, the output geometries
              associated with each feature will be included in the response.
              The output geometries will be in the spatial reference system
              defined by outSR.
           inSR - Optional parameter to define the input geometries in the
              studyAreas parameter in a specified spatial reference system.
           outSR - Optional parameter to request the output geometries in a
              specified spatial reference system.
           suppressNullValues - Optional parameter to return only values
              that are not NULL in the output response. Adding the optional
              suppressNullValues parameter to any data collections
              discovery method will reduce the size of the output that is
              returned.
           forStorage - Optional parameter to define if GeoEnrichment
              output is being stored. The price for using the Enrich method
              varies according to whether the data returned is being
              persisted, i.e. being stored, or whether it is merely being
              used in an interactive context and is discarded after being
              viewed. If the data is being stored, the terms of use for the
              GeoEnrichment service require that you specify the forStorage
              parameter to true.
        """
        params = {
            "f" : "json",
            "outSR": outSR,
            "inSR" : inSR,
            "suppressNullValues" : suppressNullValues,
            "addDerivativeVariables" : addDerivativeVariables,
            "studyareas" : studyAreas,
            "forStorage" : forStorage
        }
        params['returnGeometry'] = returnGeometry
        if studyAreasOptions is not None:
            params['studyAreasOptions'] = studyAreasOptions
        if dataCollections is not None:
            params['dataCollections'] = dataCollections

        if useData is not None:
            params['useData'] = useData
        if intersectingGeographies is not None:
            params['intersectingGeographies'] = intersectingGeographies
        if analysisVariables is not None:
            params['analysisVariables'] = analysisVariables
        url = self._base_url + self._url_enrich_data
        return self._get(url=url,
                         param_dict=params,
                         securityHandler=self._securityHandler,
                         proxy_url=self._proxy_url,
                         proxy_port=self._proxy_port)
The GeoEnrichment service uses the concept of a study area to
        define the location of the point or area that you want to enrich
        with additional information. If one or many points are input as
        a study area, the service will create a 1-mile ring buffer around
        the point to collect and append enrichment data. You can optionally
        change the ring buffer size or create drive-time service areas
        around the point. The most common method to determine the center
        point for a study areas is a set of one or many point locations
        defined as XY locations. More specifically, one or many input
        points (latitude and longitude) can be provided to the service to
        set the study areas that you want to enrich with additional
        information. You can create a buffer ring or drive-time service
        area around the points to aggregate data for the study areas. You
        can also return enrichment data for buffers around input line
        features.

        Inputs:
           studyAreas - Required parameter to specify a list of input
              features to be enriched. Study areas can be input XY point
              locations.
           dataCollections - A Data Collection is a preassembled list of
              attributes that will be used to enrich the input features.
              Enrichment attributes can describe various types of
              information such as demographic characteristics and
              geographic context of the locations or areas submitted as
              input features in studyAreas.
           analysisVariables - A Data Collection is a preassembled list of
              attributes that will be used to enrich the input features.
              With the analysisVariables parameter you can return a subset
              of variables Enrichment attributes can describe various types
              of information such as demographic characteristics and
              geographic context of the locations or areas submitted as
              input features in studyAreas.
           addDerivativeVariables - Optional parameter to specify an array
              of string values that describe what derivative variables to
              include in the output.
           studyAreasOptions - Optional parameter to specify enrichment
              behavior. For points described as map coordinates, a 1-mile
              ring area centered on each site will be used by default. You
              can use this parameter to change these default settings.
              With this parameter, the caller can override the default
              behavior describing how the enrichment attributes are
              appended to the input features described in studyAreas. For
              example, you can change the output ring buffer to 5 miles,
              change the number of output buffers created around each point,
              and also change the output buffer type to a drive-time service
              area rather than a simple ring buffer.
           useData - Optional parameter to explicitly specify the country
              or dataset to query.
           intersectingGeographies - Optional parameter to explicitly
              define the geographic layers used to provide geographic
              context during the enrichment process. For example, you can
              use this optional parameter to return the U.S. county and ZIP
              Code that each input study area intersects.
              You can intersect input features defined in the studyAreas
              parameter with standard geography layers that are provided by
              the GeoEnrichment service for each country. You can also
              intersect features from a publicly available feature service.
           returnGeometry - Optional parameter to request the output
              geometries in the response.
              When this parameter is set to true, the output geometries
              associated with each feature will be included in the response.
              The output geometries will be in the spatial reference system
              defined by outSR.
           inSR - Optional parameter to define the input geometries in the
              studyAreas parameter in a specified spatial reference system.
           outSR - Optional parameter to request the output geometries in a
              specified spatial reference system.
           suppressNullValues - Optional parameter to return only values
              that are not NULL in the output response. Adding the optional
              suppressNullValues parameter to any data collections
              discovery method will reduce the size of the output that is
              returned.
           forStorage - Optional parameter to define if GeoEnrichment
              output is being stored. The price for using the Enrich method
              varies according to whether the data returned is being
              persisted, i.e. being stored, or whether it is merely being
              used in an interactive context and is discarded after being
              viewed. If the data is being stored, the terms of use for the
              GeoEnrichment service require that you specify the forStorage
              parameter to true.