def compute(self, dataset_pool): parcels = self.get_dataset() templates = dataset_pool.get_dataset('development_template') template_components = dataset_pool.get_dataset('development_template_component') proposals = create_from_parcel_and_development_template( parcels, templates, filter_attribute="has_vacant_land=urbansim_parcel.parcel.vacant_land_area > 0", proposed_units_variable="psrc_parcel.development_project_proposal.units_proposed_plus_minimum_1DU_per_legal_lot_yield", dataset_pool=dataset_pool, resources=None) dataset_pool.replace_dataset('development_project_proposal', proposals) self.add_and_solve_dependencies([ "_max_capacity = parcel.aggregate(urbansim_parcel.development_project_proposal.land_area_taken * (development_project_proposal.disaggregate(land_use_type.generic_land_use_type_id, intermediates=[development_template])==%s), function=maximum)" % self.glu ]) return parcels["_max_capacity"]
if template_filter is not None: try: index2 = where(templates.compute_variables(template_filter))[0] except Exception, e: logger.log_warning( "template_filter is set to %s, but there is an error when computing it: %s" % (template_filter, e) ) index2 = None else: index2 = None if create_proposal_set: logger.start_block("Creating proposals for new development") proposal_set = create_from_parcel_and_development_template( parcels, templates, filter_attribute=self.filter, parcel_index = index1, template_index = index2, proposed_units_variable=proposed_units_variable, dataset_pool=dataset_pool, resources = kwargs.get("resources", None) ) proposal_set.add_attribute( zeros(proposal_set.size(), dtype=int16), "is_redevelopment", AttributeType.PRIMARY ) # Line added by Jesse Ayers, MAG, 7/20/2009 # adding a primary attribute to catch a later computation proposal_set.add_attribute( zeros(proposal_set.size(), dtype=int32), "total_land_area_taken", AttributeType.PRIMARY ) logger.end_block() '''if parcel_filter_for_redevelopment is not None: logger.start_block("Creating proposals for re-development") buildings = dataset_pool.get_dataset('building') land_area = buildings.get_attribute("land_area").copy() parcels.compute_variables(parcel_filter_for_redevelopment, dataset_pool=dataset_pool) is_redevelopment = parcels.get_attribute( parcel_filter_for_redevelopment) > 0 buildings_parcel_ids = buildings.get_attribute( "parcel_id" )
index2 = where(templates.compute_variables(template_filter))[0] except Exception, e: logger.log_warning( "template_filter is set to %s, but there is an error when computing it: %s" % (template_filter, e)) index2 = None else: index2 = None if create_proposal_set: logger.start_block("Creating proposals for new development") proposal_set = create_from_parcel_and_development_template( parcels, templates, filter_attribute=self.filter, parcel_index=index1, template_index=index2, proposed_units_variable=proposed_units_variable, dataset_pool=dataset_pool, resources=kwargs.get("resources", None)) proposal_set.add_attribute(zeros(proposal_set.size(), dtype=int16), "is_redevelopment", AttributeType.PRIMARY) # Line added by Jesse Ayers, MAG, 7/20/2009 # adding a primary attribute to catch a later computation proposal_set.add_attribute(zeros(proposal_set.size(), dtype=int32), "total_land_area_taken", AttributeType.PRIMARY) logger.end_block() '''if parcel_filter_for_redevelopment is not None: logger.start_block("Creating proposals for re-development")