Getting closer to a useful test

This commit is contained in:
Erica Fischer
2023-07-20 18:40:48 -07:00
parent 9b29252608
commit 5194d29ae0
2 changed files with 105 additions and 1 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ tile-join: tile-join.o projection.o mbtiles.o mvt.o memfile.o dirtiles.o jsonpul
tippecanoe-json-tool: jsontool.o jsonpull/jsonpull.o csv.o text.o geojson-loop.o
$(CXX) $(PG) $(LIBS) $(FINAL_FLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -lm -lz -lsqlite3 -lpthread
unit: unit.o text.o drop.o
unit: unit.o text.o drop.o projection.o
$(CXX) $(PG) $(LIBS) $(FINAL_FLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -lm -lz -lsqlite3 -lpthread
-include $(wildcard *.d)
+104
View File
@@ -2,6 +2,8 @@
#include "catch/catch.hpp"
#include "text.hpp"
#include "drop.hpp"
#include "geometry.hpp"
#include "projection.hpp"
unsigned int additional[256] = {0};
@@ -37,3 +39,105 @@ TEST_CASE("prep drop states", "[prep_drop_state]") {
REQUIRE(ds[14].interval == 4);
REQUIRE(ds[0].interval == 65536);
}
TEST_CASE("select minzoom", "[calc_feature_minzoom]") {
const int maxzoom = 3;
struct drop_state ds[maxzoom + 1];
struct index ix;
long long wx, wy;
int minzoom;
prep_drop_states(ds, maxzoom, maxzoom, 2);
ix.t = VT_POINT;
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
lonlat2tile(-87.635236553223379, 41.84796128336411, 32, &wx, &wy); // Chicago
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Chicago %d\n", ix.ix, minzoom);
lonlat2tile(-122.31532231603904, 47.600423319460475, 32, &wx, &wy); // Seattle
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Seattle %d\n", ix.ix, minzoom);
lonlat2tile(-122.6819359, 45.5219697, 32, &wx, &wy); // Portland
ix.ix = encode_hilbert(wx, wy);
minzoom = calc_feature_minzoom(&ix, ds, maxzoom, 1);
printf("%llu Portland %d\n", ix.ix, minzoom);
}