add test comparing geometry handling between ogr and shape plugin - currently fails
This commit is contained in:
parent
de932bd99b
commit
7b7fc5eb94
4 changed files with 44 additions and 0 deletions
BIN
tests/data/shp/wkt_poly.dbf
Normal file
BIN
tests/data/shp/wkt_poly.dbf
Normal file
Binary file not shown.
BIN
tests/data/shp/wkt_poly.shp
Normal file
BIN
tests/data/shp/wkt_poly.shp
Normal file
Binary file not shown.
BIN
tests/data/shp/wkt_poly.shx
Normal file
BIN
tests/data/shp/wkt_poly.shx
Normal file
Binary file not shown.
44
tests/python_tests/ogr_and_shape_geometries_test.py
Normal file
44
tests/python_tests/ogr_and_shape_geometries_test.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from nose.tools import *
|
||||
|
||||
from utilities import execution_path, Todo
|
||||
|
||||
import os, sys, glob, mapnik
|
||||
|
||||
def setup():
|
||||
# All of the paths used are relative, if we run the tests
|
||||
# from another directory we need to chdir()
|
||||
os.chdir(execution_path('.'))
|
||||
|
||||
# TODO - fix truncation in shapefile...
|
||||
polys = ["POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))",
|
||||
"POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10),(20 30, 35 35, 30 20, 20 30))",
|
||||
"MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))"
|
||||
"MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),(30 20, 20 25, 20 15, 30 20)))"
|
||||
]
|
||||
|
||||
plugins = mapnik.DatasourceCache.instance().plugin_names()
|
||||
if 'shape' in plugins and 'ogr' in plugins:
|
||||
|
||||
def test_geometries_are_interpreted_equivalently():
|
||||
shapefile = '../data/shp/wkt_poly.shp'
|
||||
ds1 = mapnik.Ogr(file=shapefile,layer_by_index=0)
|
||||
ds2 = mapnik.Shapefile(file=shapefile)
|
||||
fs1 = ds1.featureset()
|
||||
fs2 = ds2.featureset()
|
||||
count = 0;
|
||||
while(True):
|
||||
count += 1
|
||||
feat1 = fs1.next()
|
||||
feat2 = fs2.next()
|
||||
if not feat1:
|
||||
break
|
||||
#import pdb;pdb.set_trace()
|
||||
#print feat1
|
||||
eq_(str(feat1),str(feat2))
|
||||
eq_(feat1.geometries().to_wkt(),feat2.geometries().to_wkt())
|
||||
|
||||
if __name__ == "__main__":
|
||||
setup()
|
||||
[eval(run)() for run in dir() if 'test_' in run]
|
Loading…
Reference in a new issue