add shapeindex tests - refs #2703
This commit is contained in:
parent
5424c350cd
commit
54dc9dd0f3
5 changed files with 52 additions and 0 deletions
BIN
tests/data/shp/3d_point_empty.dbf
Normal file
BIN
tests/data/shp/3d_point_empty.dbf
Normal file
Binary file not shown.
1
tests/data/shp/3d_point_empty.prj
Normal file
1
tests/data/shp/3d_point_empty.prj
Normal file
|
@ -0,0 +1 @@
|
|||
PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]
|
BIN
tests/data/shp/3d_point_empty.shp
Normal file
BIN
tests/data/shp/3d_point_empty.shp
Normal file
Binary file not shown.
BIN
tests/data/shp/3d_point_empty.shx
Normal file
BIN
tests/data/shp/3d_point_empty.shx
Normal file
Binary file not shown.
51
tests/python_tests/shapeindex_test.py
Normal file
51
tests/python_tests/shapeindex_test.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from nose.tools import eq_
|
||||
from utilities import execution_path, run_all
|
||||
from subprocess import Popen, PIPE
|
||||
import shutil
|
||||
import os
|
||||
import fnmatch
|
||||
import 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('.'))
|
||||
|
||||
def test_shapeindex():
|
||||
# first copy shapefiles to tmp directory
|
||||
source_dir = '../data/shp/'
|
||||
working_dir = '/tmp/mapnik-shp-tmp/'
|
||||
if os.path.exists(working_dir):
|
||||
shutil.rmtree(working_dir)
|
||||
shutil.copytree(source_dir,working_dir)
|
||||
matches = []
|
||||
for root, dirnames, filenames in os.walk('%s' % source_dir):
|
||||
for filename in fnmatch.filter(filenames, '*.shp'):
|
||||
matches.append(os.path.join(root, filename))
|
||||
for shp in matches:
|
||||
source_file = os.path.join(source_dir,os.path.relpath(shp,source_dir))
|
||||
dest_file = os.path.join(working_dir,os.path.relpath(shp,source_dir))
|
||||
ds = mapnik.Shapefile(file=source_file)
|
||||
count = 0;
|
||||
fs = ds.featureset()
|
||||
try:
|
||||
while (fs.next()):
|
||||
count = count+1
|
||||
except StopIteration:
|
||||
pass
|
||||
stdin, stderr = Popen('shapeindex %s' % dest_file, shell=True, stdout=PIPE, stderr=PIPE).communicate()
|
||||
ds2 = mapnik.Shapefile(file=dest_file)
|
||||
count2 = 0;
|
||||
fs = ds.featureset()
|
||||
try:
|
||||
while (fs.next()):
|
||||
count2 = count2+1
|
||||
except StopIteration:
|
||||
pass
|
||||
eq_(count,count2)
|
||||
|
||||
if __name__ == "__main__":
|
||||
setup()
|
||||
exit(run_all(eval(x) for x in dir() if x.startswith("test_")))
|
Loading…
Reference in a new issue