| | 635 | return 'success' |
|---|
| | 636 | |
|---|
| | 637 | ############################################################################### |
|---|
| | 638 | # Test empty multipoint, multiline, multipolygon. |
|---|
| | 639 | # From GDAL 1.6.0, the expected behaviour is to return a feature with a NULL geometry |
|---|
| | 640 | |
|---|
| | 641 | def ogr_shape_20(): |
|---|
| | 642 | |
|---|
| | 643 | if gdaltest.shape_ds is None: |
|---|
| | 644 | return 'skip' |
|---|
| | 645 | |
|---|
| | 646 | ds = ogr.Open('data/emptymultipoint.shp') |
|---|
| | 647 | lyr = ds.GetLayer(0) |
|---|
| | 648 | lyr.ResetReading() |
|---|
| | 649 | feat = lyr.GetNextFeature() |
|---|
| | 650 | |
|---|
| | 651 | if feat is None: |
|---|
| | 652 | return 'fail' |
|---|
| | 653 | if feat.GetGeometryRef() is not None: |
|---|
| | 654 | return 'fail' |
|---|
| | 655 | |
|---|
| | 656 | feat.Destroy() |
|---|
| | 657 | lyr = None |
|---|
| | 658 | ds.Destroy() |
|---|
| | 659 | |
|---|
| | 660 | |
|---|
| | 661 | ds = ogr.Open('data/emptymultiline.shp') |
|---|
| | 662 | lyr = ds.GetLayer(0) |
|---|
| | 663 | lyr.ResetReading() |
|---|
| | 664 | feat = lyr.GetNextFeature() |
|---|
| | 665 | |
|---|
| | 666 | if feat is None: |
|---|
| | 667 | return 'fail' |
|---|
| | 668 | if feat.GetGeometryRef() is not None: |
|---|
| | 669 | return 'fail' |
|---|
| | 670 | |
|---|
| | 671 | feat.Destroy() |
|---|
| | 672 | lyr = None |
|---|
| | 673 | ds.Destroy() |
|---|
| | 674 | |
|---|
| | 675 | |
|---|
| | 676 | ds = ogr.Open('data/emptymultipoly.shp') |
|---|
| | 677 | lyr = ds.GetLayer(0) |
|---|
| | 678 | lyr.ResetReading() |
|---|
| | 679 | feat = lyr.GetNextFeature() |
|---|
| | 680 | |
|---|
| | 681 | if feat is None: |
|---|
| | 682 | return 'fail' |
|---|
| | 683 | if feat.GetGeometryRef() is not None: |
|---|
| | 684 | return 'fail' |
|---|
| | 685 | |
|---|
| | 686 | feat.Destroy() |
|---|
| | 687 | lyr = None |
|---|
| | 688 | ds.Destroy() |
|---|
| | 689 | |
|---|