Class ServiceAreaParameters

    • Method Detail

      • getAccumulateAttributeNames

        public java.util.List<java.lang.String> getAccumulateAttributeNames()
        Gets a list of network attributes to be accumulated and returned as part of the service area.

        For example, accumulateAttributeNames = {"Miles", "Kilometers"} indicates that the total cost of the service area should also be calculated in miles and kilometers. All supported attributes can be obtained from ServiceAreaTaskInfo.getCostAttributes().

        Returns:
        a modifiable list of accumulate attribute names
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getAccumulateAttributeNames()
      • getTravelMode

        public TravelMode getTravelMode()
        Gets the travel mode that was set.
        Returns:
        the travel mode or a default if not set
        Since:
        100.1.0
      • setTravelMode

        public void setTravelMode​(TravelMode travelMode)
        Sets the travel mode.
        Parameters:
        travelMode - the travel mode
        Throws:
        java.lang.IllegalArgumentException - if travelMode is null
        Since:
        100.1.0
      • getStartTime

        public java.util.Calendar getStartTime()
        Gets the start time that was set. If not specified the default value will be null and the start time used will be the time at which the task executes.
        Returns:
        the start time. Returns null if it was not set
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getStartTime()
      • setStartTime

        public void setStartTime​(java.util.Calendar startTime)
        Sets the start time. If not specified, defaults to the time the task is executed.
        Parameters:
        startTime - start time, can be null
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getStartTime()
      • getDefaultImpedanceCutoffs

        public java.util.List<java.lang.Double> getDefaultImpedanceCutoffs()
        Gets the default impedance cutoffs.

        Cutoffs specify the quantity of the impedance to apply. They constrain the extent of the service area to be calculated. For example, if you apply breaks of 5, 10, and 15 when the impedance is set to Time, the service area will include those streets that can be reached within 5, 10, and 15 minutes. The units for impedance cutoffs is based on the value of the TravelMode.getImpedanceAttributeName(). For example, if TravelMode.getImpedanceAttributeName() is TravelTime, the defaultImpedanceCutoffs are specified in minutes.

        Returns:
        a modifiable list of default impedance cutoffs
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getDefaultImpedanceCutoffs(), ServiceAreaFacility.getImpedanceCutoffs()
      • setTravelDirection

        public void setTravelDirection​(TravelDirection travelDirection)
        Sets the travel direction.
        Parameters:
        travelDirection - the travel direction
        Throws:
        java.lang.IllegalArgumentException - if travelDirection is null
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getTravelDirection()
      • getPolygonBufferDistance

        public double getPolygonBufferDistance()
        Gets the service area polygon buffer distance in meters.

        The polygon buffer refers to the distance from the road the service area polygon should extend when no other reachable roads are nearby, similar to a line buffer size. This is useful if the network is very sparse and you don't want the service area to cover large areas where there are no features.

        Returns:
        the polygon buffer distance in meters
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getPolygonBufferDistance()
      • setPolygonBufferDistance

        public void setPolygonBufferDistance​(double polygonBufferDistance)
        Sets the service area polygon buffer distance in meters.

        The polygon buffer refers to the distance from the road the service area polygon should extend when no other reachable roads are nearby, similar to a line buffer size. This is useful if the network is very sparse and you don't want the service area to cover large areas where there are no features.

        Parameters:
        polygonBufferDistance - the polygon buffer distance in meters
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getPolygonBufferDistance()
      • getPolygonDetail

        public ServiceAreaPolygonDetail getPolygonDetail()
        Gets the level of detail of the output polygons.

        If your analysis covers an urban area with a grid-like street network, the difference between generalized and standard polygons will be minimal. However, for mountain and rural roads, the standard and detailed polygons may present significantly more accurate results than generalized polygons.

        Returns:
        the level of detail of the output polygons
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getPolygonDetail()
      • setPolygonDetail

        public void setPolygonDetail​(ServiceAreaPolygonDetail polygonDetail)
        Sets the level of detail of the output polygons.

        If your analysis covers an urban area with a grid-like street network, the difference between generalized and standard polygons will be minimal. However, for mountain and rural roads, the standard and detailed polygons may present significantly more accurate results than generalized polygons.

        Parameters:
        polygonDetail - the level of detail of the output polygons
        Throws:
        java.lang.IllegalArgumentException - if polygonDetail is null
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getPolygonDetail()
      • setGeometryAtOverlap

        public void setGeometryAtOverlap​(ServiceAreaOverlapGeometry geometryAtOverlap)
        Sets the geometry overlap behavior.

        Specifies the behavior of service area output from multiple facilities in relation to one another.

        Parameters:
        geometryAtOverlap - the behavior for overlapping geometry
        Throws:
        java.lang.IllegalArgumentException - if geometryAtOverlap is null
        Since:
        100.1.0
        See Also:
        ServiceAreaTaskInfo.getGeometryAtOverlap()
      • getGeometryAtCutoff

        public ServiceAreaPolygonCutoffGeometry getGeometryAtCutoff()
        Gets the behavior for the geometry at cutoff.

        Specifies the behavior of service area output for a single facility when multiple cutoff values are specified. This parameter does not apply to line output.

        Returns:
        the behavior for geometry at cutoff
        Since:
        100.1.0
      • setGeometryAtCutoff

        public void setGeometryAtCutoff​(ServiceAreaPolygonCutoffGeometry geometryAtCutoff)
        Sets the behavior for the geometry at cutoff.

        Specifies the behavior of service area output for a single facility when multiple cutoff values are specified. This parameter does not apply to line output.

        Parameters:
        geometryAtCutoff - the behavior for geometry at cutoff
        Throws:
        java.lang.IllegalArgumentException - if geometryAtCutoff is null
        Since:
        100.1.0
      • isReturnPointBarriers

        public boolean isReturnPointBarriers()
        Indicates if point barriers will be returned in the result ServiceAreaResult.getPointBarriers().
        Returns:
        true if returning point barriers in the result is enabled, false otherwise
        Since:
        100.1.0
      • setReturnPointBarriers

        public void setReturnPointBarriers​(boolean returnPointBarriers)
        Sets whether to return point barriers used while computing service areas, in the result ServiceAreaResult.getPointBarriers().
        Parameters:
        returnPointBarriers - true to return point barriers, otherwise false
        Since:
        100.1.0
      • isReturnPolylineBarriers

        public boolean isReturnPolylineBarriers()
        Indicates if polyline barriers will be returned in the result ServiceAreaResult.getPolylineBarriers().
        Returns:
        true if returning polyline barriers in the result is enabled, false otherwise
        Since:
        100.1.0
      • setReturnPolylineBarriers

        public void setReturnPolylineBarriers​(boolean returnPolylineBarriers)
        Sets whether to return polyline barriers used while computing service areas, in the result ServiceAreaResult.getPolylineBarriers().
        Parameters:
        returnPolylineBarriers - true to return polyline barriers, otherwise false
        Since:
        100.1.0
      • isReturnPolygonBarriers

        public boolean isReturnPolygonBarriers()
        Indicates if polygon barriers will be returned in the result ServiceAreaResult.getPolygonBarriers().
        Returns:
        true if returning polygon barriers in the result is enabled, false otherwise
        Since:
        100.1.0
      • setReturnPolygonBarriers

        public void setReturnPolygonBarriers​(boolean returnPolygonBarriers)
        Sets whether to return polygon barriers used while computing service areas, in the result ServiceAreaResult.getPolygonBarriers().
        Parameters:
        returnPolygonBarriers - true to return polygon barriers, otherwise false
        Since:
        100.1.0
      • isReturnPolylines

        public boolean isReturnPolylines()
        Indicates if polylines will be returned in the result ServiceAreaResult.getResultPolylines(int).
        Returns:
        true if returning polylines in the result is enabled, false otherwise
        Since:
        100.1.0
      • setReturnPolylines

        public void setReturnPolylines​(boolean returnPolylines)
        Sets whether to return polylines used while computing service areas, in the result ServiceAreaResult.getResultPolylines(int).
        Parameters:
        returnPolylines - true to return polylines, otherwise false
        Since:
        100.1.0
      • isReturnPolygons

        public boolean isReturnPolygons()
        Indicates if polygons will be returned in the result ServiceAreaResult.getResultPolygons(int).
        Returns:
        true if returning polygons in the result is enabled, false otherwise
        Since:
        100.1.0
      • setReturnPolygons

        public void setReturnPolygons​(boolean returnPolygons)
        Sets whether to return polygons used while computing service areas, in the result ServiceAreaResult.getResultPolygons(int).
        Parameters:
        returnPolygons - true to return polygons, otherwise false
        Since:
        100.1.0
      • setFacilities

        public void setFacilities​(java.lang.Iterable<ServiceAreaFacility> facilities)
        Sets the facilities around which service areas are generated.

        Note: calling this method causes any service area facilities set by a previous call or calling setFacilities(ArcGISFeatureTable, QueryParameters) to be cleared.

        Parameters:
        facilities - the service area facilities
        Throws:
        java.lang.IllegalArgumentException - if facilities is null
        Since:
        100.1.0
      • setFacilities

        public void setFacilities​(ArcGISFeatureTable featureTable,
                                  QueryParameters queryParameters)
        Sets the facilities around which service areas are generated, using features in a given feature table.

        The feature table can be either local or online and must be of geometry type point. Attributes from the feature table are mapped to the properties on the service area facilities objects generated from the feature table. The where clause set in the query parameters will be applied to the feature table. If an online feature table is specified the table will not be queried for features until ServiceAreaTask.solveServiceAreaAsync(ServiceAreaParameters) is called.

        Note: calling this method causes any facilities set by a previous call or calling setFacilities(Iterable) to be cleared.

        Parameters:
        featureTable - the feature table
        queryParameters - the query parameters
        Throws:
        java.lang.IllegalArgumentException - if featureTable or queryParameters is null
        Since:
        100.1.0
      • setPointBarriers

        public void setPointBarriers​(java.lang.Iterable<PointBarrier> barriers)
        Sets the point barriers to avoid in the result service areas.

        Note: calling this method causes any point barriers set by a previous call or calling setPointBarriers(ArcGISFeatureTable, QueryParameters) to be cleared.

        Parameters:
        barriers - the point barriers
        Throws:
        java.lang.IllegalArgumentException - if barriers is null
        Since:
        100.1.0
      • setPointBarriers

        public void setPointBarriers​(ArcGISFeatureTable featureTable,
                                     QueryParameters queryParameters)
        Sets the point barriers to avoid in the result service areas, using features in a given feature table.

        The feature table can be either local or online and must be of geometry type point. Attributes from the feature table are mapped to the properties on the barrier objects generated from the specified feature table. The where clause set in the query parameters will be applied to the feature table. If an online feature table is specified the table will not be queried for features until ServiceAreaTask.solveServiceAreaAsync(ServiceAreaParameters) is called.

        Note: calling this method causes any point barriers set by a previous call or calling setPointBarriers(Iterable) to be cleared.

        Parameters:
        featureTable - the feature table
        queryParameters - the query parameters
        Throws:
        java.lang.IllegalArgumentException - if featureTable or queryParameters is null
        Since:
        100.1.0
      • setPolylineBarriers

        public void setPolylineBarriers​(java.lang.Iterable<PolylineBarrier> barriers)
        Sets the polyline barriers to avoid in the result service areas.

        Note: calling this method causes any polyline barriers set by a previous call or calling setPolylineBarriers(ArcGISFeatureTable, QueryParameters) to be cleared.

        Parameters:
        barriers - the polyline barriers
        Throws:
        java.lang.IllegalArgumentException - if barriers is null
        Since:
        100.1.0
      • setPolylineBarriers

        public void setPolylineBarriers​(ArcGISFeatureTable featureTable,
                                        QueryParameters queryParameters)
        Sets the polyline barriers to avoid in the result service areas, using features in a given feature table.

        The feature table can be either local or online and must be of geometry type polyline. Attributes from the feature table are mapped to the properties on the barrier objects generated from the specified feature table. The where clause set in the query parameters will be applied to the feature table. If an online feature table is specified the table will not be queried for features until ServiceAreaTask.solveServiceAreaAsync(ServiceAreaParameters) is called.

        Note: calling this method causes any polyline barriers set by a previous call or calling setPolylineBarriers(Iterable) to be cleared.

        Parameters:
        featureTable - the feature table
        queryParameters - the query parameters
        Throws:
        java.lang.IllegalArgumentException - if featureTable or queryParameters is null
        Since:
        100.1.0
      • setPolygonBarriers

        public void setPolygonBarriers​(java.lang.Iterable<PolygonBarrier> barriers)
        Sets the polygon barriers to avoid in the result service areas.

        Note: calling this method causes any polygon barriers set by a previous call or calling setPolygonBarriers(ArcGISFeatureTable, QueryParameters) to be cleared.

        Parameters:
        barriers - the polygon barriers
        Throws:
        java.lang.IllegalArgumentException - if barriers is null
        Since:
        100.1.0
      • setPolygonBarriers

        public void setPolygonBarriers​(ArcGISFeatureTable featureTable,
                                       QueryParameters queryParameters)
        Sets the polygon barriers to avoid in the result service areas, using features in a given feature table.

        The feature table can be either local or online and must be of geometry type polygon. Attributes from the feature table are mapped to the properties on the barrier objects generated from the specified feature table. The where clause set in the query parameters will be applied to the feature table. If an online feature table is specified the table will not be queried for features until ServiceAreaTask.solveServiceAreaAsync(ServiceAreaParameters) is called.

        Note: calling this method causes any polygon barriers set by a previous call or calling setPolygonBarriers(Iterable) to be cleared.

        Parameters:
        featureTable - the feature table
        queryParameters - the query parameters
        Throws:
        java.lang.IllegalArgumentException - if featureTable or queryParameters is null
        Since:
        100.1.0
      • getSearchWhereClause

        public java.lang.String getSearchWhereClause​(java.lang.String sourceName)
        Gets the search where clause from the specified network dataset's source feature class.
        Parameters:
        sourceName - the name of the network dataset's source feature class to retrieve the where clause from
        Returns:
        the search where clause
        Since:
        100.6.0
      • setSearchWhereClause

        public void setSearchWhereClause​(java.lang.String sourceName,
                                         java.lang.String searchWhereClause)
        Sets a search where clause on the specified network dataset's source feature class.

        Only features satisfying the where clause for the specified feature class will be used to locate facilities on the network during the solve operation. If a where clause is not set all network features are used.

        Parameters:
        sourceName - the name of the network dataset's source feature class the where clause will be applied to
        searchWhereClause - the search where clause
        Since:
        100.6.0