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