Skip to content

Developer model: splitter

Paul Sohn edited this page Apr 10, 2017 · 2 revisions

Developer Model: Splitter

The Splitter model is part of the project creation step in the new developer model. It should take in parcels and if they qualify under some criteria (probably it's larger than a maximum parcel size), run an algorithm to determine the "best" split.

Background information

The parcel table for most models starts with simple, limited information such as:

  • Area
  • Geographic identifiers (e.g. county)
  • Location (coordinates, possibly node ID on street network)

Other useful information such as allowed zoning is usually registered as a column for the parcels table in later steps. Therefore, splitting should have to do with area only.

Possible approaches to a single parcel

Example: 250,000 sqft parcel

Even splits by percentage

Example rule: 5% each.
Results: 20 dev sites, 12500 sqft each.

Multiple sizes by percentage

Example rule: Half at 5%, half at 2.5%.
Results: 10 dev sites at 12500 sqft each, 20 dev sites at 6250 sqft each.

Even splits by predefined sizes

Example rule: 10000 sqft each. Results: 25 dev sites of 10000 sqft.
This kind of rule requires logic for "remainder". Let's say remainder is always appended to a dev site. So if there were 256,000 sqft in the original parcel, the split would be 24 dev sites of 10000 sqft, one dev site of 16000 sqft.

Multiple sizes by predefined sizes

Example rule: Half at 10000 sqft each, half at 5000 sqft each
Results:

  • Split into half
  • First half: 125,000 sqft total. 12 dev sites of 10,000 sqft. Remainder of 5,000 sqft.
  • Second half: 125,000 sqft total. 25 dev sites of 5,000 sqft. No remainder.
  • Process remainder:
    • If remainder = smallest predefined size, add a dev site of that size
    • If remainder < smallest predefined size, append to a dev site of the the smallest predefined size (this is the scenario in this example)
    • If remainder > smallest predefined size and < 2x smallest predefined size, make a dev site of that size and process remainder recursively

Possible approaches to determining split by parcel size

We have one parcel with 250,000 sqft, one with 1,000,000 sqft. How should each be handled?

  • One rule that works for all parcel sizes (e.g. predefined sizes)
  • Piecewise rules (e.g. one rule for 200,000 to 500,000, another rule for larger parcels)
  • Rules dependent on context (e.g. try to look similar to nearby developed parcels - requires more infrastructure)

MVP behavior

I think we should start with:

  • All parcels above 200,000 sq. ft. are split
  • Splitting behavior is: even splits by predefined sizes
  • Size should be the same as the median parcel size for the region

Future desired features

  • Lookup table by zone_id or other geographic identifier that defines splitting rules inside those zones

Complicating factors

  • Modelers probably want to be able to control use as well as size of development sites; therefore we should consider further how zoning should be updated along with the splitting process. Unfortunately, this may have to be a more or less custom approach for each region. We can set up examples for SF and SD.
Clone this wiki locally