Modelling urban canopy with object-based porosity model