Class OBBDivision

java.lang.Object
fr.ign.artiscales.pm.division.Division
fr.ign.artiscales.pm.division.OBBDivision

public class OBBDivision extends Division
Oriented Bounding Box algorithm implementation with methods to generate road network
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.geotools.data.simple.SimpleFeatureCollection
    splitParcel​(org.opengis.feature.simple.SimpleFeature featToSplit, org.geotools.data.simple.SimpleFeatureCollection roads, double maximalArea, double minimalWidthContactRoad, double harmonyCoeff, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double laneWidth, int streetLane, double streetWidth, boolean forceStreetAccess, int blockShape)
    Split the parcels into sub parcels.
    static org.geotools.data.simple.SimpleFeatureCollection
    splitParcels​(org.geotools.data.simple.SimpleFeatureCollection toSplit, File roadFile, fr.ign.artiscales.tools.parameter.ProfileUrbanFabric profile, boolean forceStreetAccess)
    Split the parcels into sub parcels.
    static org.geotools.data.simple.SimpleFeatureCollection
    splitParcels​(org.geotools.data.simple.SimpleFeatureCollection inputCollection, org.geotools.data.simple.SimpleFeatureCollection roads, double maximalArea, double minimalWidthContactRoad, double harmony, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double laneWidth, int streetLane, double streetWidth, boolean forceStreetAccess, int blockShape)
    Split the parcels into sub parcels.
    static org.geotools.data.simple.SimpleFeatureCollection
    splitParcels​(org.opengis.feature.simple.SimpleFeature toSplit, double maximalArea, double minimalWidthContactRoad, double harmony, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double streetWidth, boolean forceStreetAccess, int decompositionLevelWithoutStreet)
    Split the parcels into sub parcels.

    Methods inherited from class fr.ign.artiscales.pm.division.Division

    isDEBUG, setDEBUG

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OBBDivision

      public OBBDivision()
  • Method Details

    • splitParcels

      public static org.geotools.data.simple.SimpleFeatureCollection splitParcels(org.geotools.data.simple.SimpleFeatureCollection toSplit, File roadFile, fr.ign.artiscales.tools.parameter.ProfileUrbanFabric profile, boolean forceStreetAccess) throws IOException
      Split the parcels into sub parcels. The parcel that are going to be cut must have a field matching the MarkParcelAttributeFromPosition.getMarkFieldName() field or "SPLIT" by default with the value of 1. Add a SIMULATED field.
      Parameters:
      toSplit - SimpleFeatureCollection of parcels
      roadFile - road file layer (can be null)
      profile - chosen ProfileUrbanFabric
      forceStreetAccess - Is the polygon should be turned in order to assure the connection with the road ? Also regarding the harmony coeff. Most of cases, it's yes
      Returns:
      a collection of subdivided parcels
      Throws:
      IOException - reading geo files
    • splitParcels

      public static org.geotools.data.simple.SimpleFeatureCollection splitParcels(org.geotools.data.simple.SimpleFeatureCollection inputCollection, org.geotools.data.simple.SimpleFeatureCollection roads, double maximalArea, double minimalWidthContactRoad, double harmony, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double laneWidth, int streetLane, double streetWidth, boolean forceStreetAccess, int blockShape)
      Split the parcels into sub parcels. The parcel that are going to be cut must have a field matching the MarkParcelAttributeFromPosition.getMarkFieldName() field or "SPLIT" by default with the value of 1. Add a SIMULATED field.
      Parameters:
      inputCollection - SimpleFeatureCollection of parcels. Must have been marked in order to be simulated
      roads - Road layer (can be null)
      maximalArea - Area of the parcel under which the parcel won't be anymore cut
      minimalWidthContactRoad - Width of the parcel under which the parcel won't be anymore cut
      harmony - intensity of the forcing of a parcel to be connected with a road
      irregularityCoeff - irregularity into parcel shape
      extBlock - Exterior boundaries of the parcel plan (representing road or public space)
      laneWidth - Width of the small streets
      streetLane - Level of decomposition in which large streets are generated
      streetWidth - Width of the large streets
      forceStreetAccess - Is the polygon should be turned in order to assure the connection with the road ? Also regarding the harmony coeff. Most of cases, it's yes
      blockShape - Number of last iteration row for which no street network is generated
      Returns:
      a collection of subdivised parcels
    • splitParcels

      public static org.geotools.data.simple.SimpleFeatureCollection splitParcels(org.opengis.feature.simple.SimpleFeature toSplit, double maximalArea, double minimalWidthContactRoad, double harmony, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double streetWidth, boolean forceStreetAccess, int decompositionLevelWithoutStreet)
      Split the parcels into sub parcels. The parcel that are going to be cut must have a field matching the MarkParcelAttributeFromPosition.getMarkFieldName() field or "SPLIT" by default with the value of 1. Add a SIMULATED field.

      Overload to split a single parcel.

      Parameters:
      toSplit - SimpleFeatureCollection of parcels
      maximalArea - Area of the parcel under which the parcel won't be anymore cut
      minimalWidthContactRoad - Width of the parcel under which the parcel won't be anymore cut
      harmony - Intensity of the forcing of a parcel to be connected with a road
      extBlock - Exterior boundaries of the parcel plan (representing road or public space)
      streetWidth - With of the street composing the street network
      decompositionLevelWithoutStreet - Number of last iteration row for which no street network is generated
      forceStreetAccess - Is the polygon should be turned in order to assure the connection with the road ? Also regarding the harmony coeff. Most of cases, it's yes
      irregularityCoeff - irregularity into parcel shape
      Returns:
      a collection of subdivided parcels
    • splitParcel

      public static org.geotools.data.simple.SimpleFeatureCollection splitParcel(org.opengis.feature.simple.SimpleFeature featToSplit, org.geotools.data.simple.SimpleFeatureCollection roads, double maximalArea, double minimalWidthContactRoad, double harmonyCoeff, double irregularityCoeff, List<org.locationtech.jts.geom.LineString> extBlock, double laneWidth, int streetLane, double streetWidth, boolean forceStreetAccess, int blockShape)
      Split the parcels into sub parcels. The parcel that are going to be cut must have a field matching the MarkParcelAttributeFromPosition.getMarkFieldName() field or "SPLIT" by default with the value of 1. Add a SIMULATED field.

      Overload to split a single parcel.

      Parameters:
      featToSplit - parcel. Must have been marked in order to be simulated
      maximalArea - Area of the parcel under which the parcel won't be anymore cut
      minimalWidthContactRoad - Width of the parcel under which the parcel won't be anymore cut
      harmonyCoeff - intensity of the forcing of a parcel to be connected with a road
      extBlock - Exterior boundaries the parcel plan (representing road or public space)
      laneWidth - With of the street composing the street network
      blockShape - Number of last iteration row for which no street network is generated
      forceStreetAccess - Is the polygon should be turned in order to assure the connection with the road ? Also regarding the harmony coeff. Most of cases, it's yes
      streetLane - Level of decomposition in which large streets are generated
      streetWidth - Width of the large streets
      irregularityCoeff - irregularity into parcel shape
      roads - Road layer (can be null)
      Returns:
      a collection of subdivided parcels