Changeset 13322

Show
Ignore:
Timestamp:
12/11/07 11:33:53 (7 months ago)
Author:
warmerdam
Message:

added have_geos() method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/autotest/ogr/ogr_geos.py

    r11065 r13322  
    4040def ogr_geos_union(): 
    4141 
     42    if not ogrtest.have_geos(): 
     43        return 'skip' 
     44 
    4245    pnt1 = ogr.CreateGeometryFromWkt( 'POINT(10 20)' ) 
    4346    pnt2 = ogr.CreateGeometryFromWkt( 'POINT(30 20)' ) 
    4447 
    45     try: 
    46         result = pnt1.Union( pnt2 ) 
    47     except: 
    48         result = None 
     48    result = pnt1.Union( pnt2 ) 
    4949 
    5050    pnt1.Destroy() 
    5151    pnt2.Destroy() 
    5252         
    53     if result is None: 
    54         gdaltest.have_geos = 0 
    55         return 'skip' 
    56  
    57     gdaltest.have_geos = 1 
    5853    if ogrtest.check_feature_geometry( result, 'MULTIPOINT (10 20,30 20)' ): 
    5954        return 'fail' 
     
    6863def ogr_geos_intersection(): 
    6964 
    70     if gdaltest.have_geos == 0
     65    if not ogrtest.have_geos()
    7166        return 'skip' 
    7267 
     
    9287def ogr_geos_difference(): 
    9388 
    94     if gdaltest.have_geos == 0
     89    if not ogrtest.have_geos()
    9590        return 'skip' 
    9691 
     
    117112def ogr_geos_symmetric_difference(): 
    118113 
    119     if gdaltest.have_geos == 0
     114    if not ogrtest.have_geos()
    120115        return 'skip' 
    121116 
     
    142137def ogr_geos_intersect(): 
    143138 
    144     if gdaltest.have_geos == 0
     139    if not ogrtest.have_geos()
    145140        return 'skip' 
    146141 
     
    176171def ogr_geos_disjoint(): 
    177172 
    178     if gdaltest.have_geos == 0
     173    if not ogrtest.have_geos()
    179174        return 'skip' 
    180175 
     
    210205def ogr_geos_touches(): 
    211206 
    212     if gdaltest.have_geos == 0
     207    if not ogrtest.have_geos()
    213208        return 'skip' 
    214209 
     
    244239def ogr_geos_crosses(): 
    245240 
    246     if gdaltest.have_geos == 0
     241    if not ogrtest.have_geos()
    247242        return 'skip' 
    248243 
     
    277272def ogr_geos_within(): 
    278273 
    279     if gdaltest.have_geos == 0
     274    if not ogrtest.have_geos()
    280275        return 'skip' 
    281276 
     
    304299def ogr_geos_contains(): 
    305300 
    306     if gdaltest.have_geos == 0
     301    if not ogrtest.have_geos()
    307302        return 'skip' 
    308303 
     
    331326def ogr_geos_overlaps(): 
    332327 
    333     if gdaltest.have_geos == 0
     328    if not ogrtest.have_geos()
    334329        return 'skip' 
    335330 
     
    352347def ogr_geos_centroid(): 
    353348 
    354     if gdaltest.have_geos == 0
     349    if not ogrtest.have_geos()
    355350        return 'skip' 
    356351 
     
    368363    centroid.Destroy() 
    369364 
    370     return 'success' 
    371  
    372 ############################################################################### 
    373 # cleanup 
    374  
    375 def ogr_geos_cleanup(): 
    376365    return 'success' 
    377366 
     
    388377    ogr_geos_contains, 
    389378    ogr_geos_overlaps, 
    390     ogr_geos_centroid, 
    391     ogr_geos_cleanup ] 
     379    ogr_geos_centroid ] 
    392380 
    393381if __name__ == '__main__': 
  • trunk/autotest/pymod/ogrtest.py

    r11065 r13322  
    3232import ogr as ogr 
    3333import gdaltest 
     34 
     35geos_flag = None 
     36 
    3437 
    3538############################################################################### 
     
    163166    if result != 0: 
    164167        raise ValueError, 'CreateFeature() failed in ogrtest.quick_create_feature()' 
     168 
     169############################################################################### 
     170def have_geos(): 
     171    global geos_flag 
     172     
     173    if geos_flag is None: 
     174        pnt1 = ogr.CreateGeometryFromWkt( 'POINT(10 20)' ) 
     175        pnt2 = ogr.CreateGeometryFromWkt( 'POINT(30 20)' ) 
     176 
     177        try: 
     178            result = pnt1.Union( pnt2 ) 
     179        except: 
     180            result = None 
     181 
     182        pnt1.Destroy() 
     183        pnt2.Destroy() 
     184         
     185        if result is None: 
     186            geos_flag = 0 
     187        else: 
     188            geos_flag = 1 
     189 
     190    return geos_flag