Esempio n. 1
0
    def select_area(epsg_code: str, areas_json: [dict],
                    point_json: dict) -> dict:
        epsg_code = 'epsg:' + epsg_code
        areas = [
            Area(json['name'],
                 Geometry.from_geojson(json['geometry'], epsg_code))
            for json in areas_json
        ]
        point = Geometry.from_geojson(point_json, epsg_code)

        selected_area = Model(areas).select_area(point)

        selected_area.boundary_distance(point)

        if selected_area is None:
            return None

        return {
            'selected_area': selected_area.representation(),
            'boundary_distance': selected_area.boundary_distance(point)
        }