Changeset 2376 for inundation


Ignore:
Timestamp:
Feb 10, 2006, 4:37:46 PM (19 years ago)
Author:
ole
Message:

Geo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/pmesh/create_mesh.py

    r2351 r2376  
    1313
    1414        if refzone is None:
    15             zone = refzone
     15            refzone = zone
    1616        else:
    1717            assert zone == refzone
     
    6868                             resolution,
    6969                             filename = None,
    70                              interior_regions = None):
     70                             interior_regions = None,
     71                             UTM = False,
     72                             refzone = None):
    7173    """Create mesh from bounding polygon, tags for all segments and resolution.
    7274
     
    99101    from coordinate_transforms.redfearn import redfearn
    100102    from utilities.polygon import populate_polygon
    101    
    102     m = Mesh()
     103    from utilities.numerical_tools import ensure_numeric
     104    from coordinate_transforms.geo_reference import Geo_reference
    103105
    104106
     107    bounding_polygon = ensure_numeric(bounding_polygon)
     108    #print 'refzone', refzone
     109
    105110    #Convert to UTM
    106     bounding_polygon, refzone = convert_points_from_latlon_to_utm(bounding_polygon)   
     111    if not UTM:
     112        bounding_polygon, refzone = convert_points_from_latlon_to_utm(bounding_polygon)
     113    else:
     114       assert refzone is not None, 'Refzone must be specified, got %s' %refzone 
     115
     116
     117    #FIXME: Must give georeference here.
     118    #Why can't Mesh work out the ll corners?
     119
     120    xllcorner = min(bounding_polygon[:,0])
     121    yllcorner = min(bounding_polygon[:,1])   
     122   
     123    geo = Geo_reference(xllcorner = xllcorner,
     124                        yllcorner = yllcorner,
     125                        zone = refzone)
     126
     127    print 'geo reference derived from bounding polygon', geo
     128    m = Mesh(geo_reference=geo)
     129   
    107130   
    108131   
     
    116139        excluded_polygons = []       
    117140        for P, res in interior_regions:
    118             polygon, _ = convert_points_from_latlon_to_utm(P, refzone)           
     141            if not UTM:           
     142                polygon, _ = convert_points_from_latlon_to_utm(P, refzone)
     143            else:
     144                polygon = P
    119145            excluded_polygons.append( polygon )
    120146    else:
     
    133159    if interior_regions is not None:   
    134160        for P, res in interior_regions:
    135             polygon, _ = convert_points_from_latlon_to_utm(P, refzone)                       
     161            if not UTM:                       
     162                polygon, _ = convert_points_from_latlon_to_utm(P, refzone)
     163            else:
     164                polygon = P
     165               
    136166            region_dict = create_region(polygon, None, refzone)
    137167
Note: See TracChangeset for help on using the changeset viewer.