Package fr.ign.artiscales.pm.division
Class OBBDivision
java.lang.Object
fr.ign.artiscales.pm.division.Division
fr.ign.artiscales.pm.division.OBBDivision
Oriented Bounding Box algorithm implementation with methods to generate road network
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.geotools.data.simple.SimpleFeatureCollectionsplitParcel(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.SimpleFeatureCollectionsplitParcels(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.SimpleFeatureCollectionsplitParcels(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.SimpleFeatureCollectionsplitParcels(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.
-
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 IOExceptionSplit the parcels into sub parcels. The parcel that are going to be cut must have a field matching theMarkParcelAttributeFromPosition.getMarkFieldName()field or "SPLIT" by default with the value of 1. Add a SIMULATED field.- Parameters:
toSplit-SimpleFeatureCollectionof parcelsroadFile- road file layer (can be null)profile- chosenProfileUrbanFabricforceStreetAccess- 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 theMarkParcelAttributeFromPosition.getMarkFieldName()field or "SPLIT" by default with the value of 1. Add a SIMULATED field.- Parameters:
inputCollection-SimpleFeatureCollectionof parcels. Must have been marked in order to be simulatedroads- Road layer (can be null)maximalArea- Area of the parcel under which the parcel won't be anymore cutminimalWidthContactRoad- Width of the parcel under which the parcel won't be anymore cutharmony- intensity of the forcing of a parcel to be connected with a roadirregularityCoeff- irregularity into parcel shapeextBlock- Exterior boundaries of the parcel plan (representing road or public space)laneWidth- Width of the small streetsstreetLane- Level of decomposition in which large streets are generatedstreetWidth- Width of the large streetsforceStreetAccess- 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 yesblockShape- 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 theMarkParcelAttributeFromPosition.getMarkFieldName()field or "SPLIT" by default with the value of 1. Add a SIMULATED field.Overload to split a single parcel.
- Parameters:
toSplit-SimpleFeatureCollectionof parcelsmaximalArea- Area of the parcel under which the parcel won't be anymore cutminimalWidthContactRoad- Width of the parcel under which the parcel won't be anymore cutharmony- Intensity of the forcing of a parcel to be connected with a roadextBlock- Exterior boundaries of the parcel plan (representing road or public space)streetWidth- With of the street composing the street networkdecompositionLevelWithoutStreet- Number of last iteration row for which no street network is generatedforceStreetAccess- 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 yesirregularityCoeff- 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 theMarkParcelAttributeFromPosition.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 simulatedmaximalArea- Area of the parcel under which the parcel won't be anymore cutminimalWidthContactRoad- Width of the parcel under which the parcel won't be anymore cutharmonyCoeff- intensity of the forcing of a parcel to be connected with a roadextBlock- Exterior boundaries the parcel plan (representing road or public space)laneWidth- With of the street composing the street networkblockShape- Number of last iteration row for which no street network is generatedforceStreetAccess- 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 yesstreetLane- Level of decomposition in which large streets are generatedstreetWidth- Width of the large streetsirregularityCoeff- irregularity into parcel shaperoads- Road layer (can be null)- Returns:
- a collection of subdivided parcels
-