def cut(self,
            cutter,
            target,
            sr=None):
        """
        The cut operation is performed on a geometry service resource. 
        This operation splits the target polyline or polygon where it's 
        crossed by the cutter polyline.
        
        Inputs:
            cutter - polyline that will be used to divide the target into 
                     pieces where it crosses the target (structured as 
                     JSON polyline objects returned by the ArcGIS REST API).
            target - array of polylines/polygons to be cut (structured as 
                     JSON geometry objects returned by the ArcGIS REST API).
            sr - spatial reference of the input geometries WKID.
        """
        url = self._url + "/cut"
        params = {
            "f" : "json"
        }
        if sr is not None:
            params['sr'] = sr
        if isinstance(cutter, Polyline):
            params['cutter'] = cutter.asDictionary
        else:
            raise AttributeError("Input must be type Polyline")
        if isinstance(target, list) and len(target) > 0:
            geoms = []
            template = {"geometryType": "",
                        "geometries" : []}
            for g in target:
                if isinstance(g, Polygon):
                    template['geometryType'] = "esriGeometryPolygon"
                    template['geometries'].append(g.asDictionary)
                if isinstance(g, Polyline):
                    template['geometryType'] = "esriGeometryPolyline"
                    template['geometries'].append(g.asDictionary)
                else:
                    AttributeError("Invalid geometry in target, entries can only be Polygon or Polyline")
                del g
            params['target'] = template
        else:
            AttributeError("You must provide at least 1 Polygon/Polyline geometry in a list")
        return self._get(url=url, param_dict=params,
                            securityHandler=self._securityHandler,
                            proxy_port=self._proxy_port,
                            proxy_url=self._proxy_url)
def cut ( self , cutter , target , sr = None ) : url = self . _url + "/cut" params = { "f" : "json" } if sr is not None : params [ 'sr' ] = sr if isinstance ( cutter , Polyline ) : params [ 'cutter' ] = cutter . asDictionary else : raise AttributeError ( "Input must be type Polyline" ) if isinstance ( target , list ) and len ( target ) > 0 : geoms = [ ] template = { "geometryType" : "" , "geometries" : [ ] } for g in target : if isinstance ( g , Polygon ) : template [ 'geometryType' ] = "esriGeometryPolygon" template [ 'geometries' ] . append ( g . asDictionary ) if isinstance ( g , Polyline ) : template [ 'geometryType' ] = "esriGeometryPolyline" template [ 'geometries' ] . append ( g . asDictionary ) else : AttributeError ( "Invalid geometry in target, entries can only be Polygon or Polyline" ) del g params [ 'target' ] = template else : AttributeError ( "You must provide at least 1 Polygon/Polyline geometry in a list" ) return self . _get ( url = url , param_dict = params , securityHandler = self . _securityHandler , proxy_port = self . _proxy_port , proxy_url = self . _proxy_url )
The cut operation is performed on a geometry service resource. 
        This operation splits the target polyline or polygon where it's 
        crossed by the cutter polyline.
        
        Inputs:
            cutter - polyline that will be used to divide the target into 
                     pieces where it crosses the target (structured as 
                     JSON polyline objects returned by the ArcGIS REST API).
            target - array of polylines/polygons to be cut (structured as 
                     JSON geometry objects returned by the ArcGIS REST API).
            sr - spatial reference of the input geometries WKID.