All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.heigit.ohsome.oshdb.api.mapreducer.MapReducerSettings Maven / Gradle / Ivy

Go to download

API to query the OpenStreetMap History Database. Includes MapReduce functionality to filter, analyze and aggregate data.

The newest version!
package org.heigit.ohsome.oshdb.api.mapreducer;

import org.heigit.ohsome.oshdb.OSHDBBoundingBox;
import org.heigit.ohsome.oshdb.filter.FilterExpression;
import org.jetbrains.annotations.Contract;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.Polygonal;

/**
 * Interface defining the common setting methods found on MapReducer or MapAggregator objects.
 *
 * @param  the class returned by all setting methods
 */
interface MapReducerSettings {

  /**
   * Set the area of interest to the given bounding box.
   * Only objects inside or clipped by this bbox will be passed on to the analysis'
   * `mapper` function.
   *
   * @param bboxFilter the bounding box to query the data in
   * @return `this` mapReducer (can be used to chain multiple commands together)
   */
  @Contract(pure = true)
  M areaOfInterest(OSHDBBoundingBox bboxFilter);

  /**
   * Set the area of interest to the given polygon.
   * Only objects inside or clipped by this polygon will be passed on to the analysis'
   * `mapper` function.
   *
   * @param polygonFilter the bounding box to query the data in
   * @return `this` mapReducer (can be used to chain multiple commands together)
   */
  @Contract(pure = true)
  

M areaOfInterest(P polygonFilter); /** * Apply a textual filter to this query. * * @see oshdb-filter * readme for a description of the filter syntax. * * @param f the filter string to apply * @return a modified copy of this mapReducer (can be used to chain multiple commands together) */ @Contract(pure = true) M filter(String f); /** * Apply a custom filter expression to this query. * * @see oshdb-filter * readme and {@link org.heigit.ohsome.oshdb.filter} for further information about how * to create such a filter expression object. * * @param f the {@link org.heigit.ohsome.oshdb.filter.FilterExpression} to apply * @return a modified copy of this mapReducer (can be used to chain multiple commands together) */ @Contract(pure = true) M filter(FilterExpression f); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy