Round coordinates instead of truncating them (#60)

* Round coordinates instead of truncating them

* Update all the tests for coordinate rounding changes

* Curses, integer division still truncates

* Fix tests

* Also round instead of shifting when looking for no-op linetos

* Should I worry that the same change for moveto doesn't change any tests?

* Also round instead of shifting when scaling down to maxzoom resolution

* Replace another explicit shift, for origin point

* Round instead of shift when writing clipped geometries to the next zoom

* Fix low-zoom gridding and smaller-than-a-pixel checks

* Don't guess an excessively large maxzoom when there is only one feature

* Add a test for guessing the maxzoom of a single point

* Explicitly sort by index if no other order distinguishes features

* Another affected test
This commit is contained in:
Erica Fischer
2023-01-27 10:57:22 -08:00
committed by GitHub
parent 1c576c2dc1
commit c58a8e3b97
181 changed files with 166358 additions and 165951 deletions
+2 -2
View File
@@ -13,9 +13,9 @@
}, "features": [
{ "type": "FeatureCollection", "properties": { "zoom": 0, "x": 0, "y": 0 }, "features": [
{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -33.046875, 79.004962 ], [ -3.076172, 61.015725 ], [ -37.001953, 34.016242 ], [ -71.015625, 29.075375 ], [ -103.007812, 39.027719 ], [ -117.070312, 60.020952 ], [ -113.027344, 69.005675 ], [ -93.076172, 75.004940 ], [ -74.003906, 79.004962 ], [ -33.046875, 79.004962 ] ] ] } }
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -32.958984, 79.004962 ], [ -2.988281, 61.015725 ], [ -37.001953, 34.016242 ], [ -71.015625, 28.998532 ], [ -103.007812, 39.027719 ], [ -116.982422, 60.020952 ], [ -113.027344, 69.005675 ], [ -92.988281, 75.004940 ], [ -74.003906, 79.004962 ], [ -32.958984, 79.004962 ] ] ] } }
,
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -81.035156, 63.035039 ], [ -28.037109, 59.040555 ], [ -10.019531, 50.007739 ], [ -5.009766, 8.059230 ], [ -17.050781, -21.943046 ], [ -75.058594, -30.977609 ], [ -118.037109, -8.928487 ], [ -135.000000, 29.075375 ], [ -113.027344, 53.014783 ], [ -81.035156, 63.035039 ] ] ] } }
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -81.035156, 62.995158 ], [ -28.037109, 58.995311 ], [ -10.019531, 50.007739 ], [ -5.009766, 7.972198 ], [ -16.962891, -22.024546 ], [ -74.970703, -30.977609 ], [ -118.037109, -9.015302 ], [ -135.000000, 28.998532 ], [ -113.027344, 53.014783 ], [ -81.035156, 62.995158 ] ] ] } }
] }
] }
] }
+1 -1
View File
@@ -13,7 +13,7 @@
}, "features": [
{ "type": "FeatureCollection", "properties": { "zoom": 0, "x": 0, "y": 0 }, "features": [
{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -33.046875, 79.004962 ], [ -3.076172, 61.015725 ], [ -15.380859, 52.908902 ], [ -10.019531, 50.007739 ], [ -5.009766, 8.059230 ], [ -17.050781, -21.943046 ], [ -75.058594, -30.977609 ], [ -118.037109, -8.928487 ], [ -135.000000, 29.075375 ], [ -113.027344, 53.014783 ], [ -111.884766, 53.383328 ], [ -117.070312, 60.020952 ], [ -113.027344, 69.005675 ], [ -93.076172, 75.004940 ], [ -74.003906, 79.004962 ], [ -33.046875, 79.004962 ] ] ] } }
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -32.958984, 79.004962 ], [ -2.988281, 61.015725 ], [ -15.380859, 52.855864 ], [ -10.019531, 50.007739 ], [ -5.009766, 7.972198 ], [ -16.962891, -22.024546 ], [ -74.970703, -30.977609 ], [ -118.037109, -9.015302 ], [ -135.000000, 28.998532 ], [ -113.027344, 53.014783 ], [ -111.884766, 53.435719 ], [ -116.982422, 60.020952 ], [ -113.027344, 69.005675 ], [ -92.988281, 75.004940 ], [ -74.003906, 79.004962 ], [ -32.958984, 79.004962 ] ] ] } }
] }
] }
] }
+2 -2
View File
@@ -13,9 +13,9 @@
}, "features": [
{ "type": "FeatureCollection", "properties": { "zoom": 0, "x": 0, "y": 0, "compressed": false }, "features": [
{ "type": "FeatureCollection", "properties": { "layer": "in", "version": 2, "extent": 4096 }, "features": [
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -33.046875, 79.004962 ], [ -3.076172, 61.015725 ], [ -37.001953, 34.016242 ], [ -71.015625, 29.075375 ], [ -103.007812, 39.027719 ], [ -117.070312, 60.020952 ], [ -113.027344, 69.005675 ], [ -93.076172, 75.004940 ], [ -74.003906, 79.004962 ], [ -33.046875, 79.004962 ] ] ] } }
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -32.958984, 79.004962 ], [ -2.988281, 61.015725 ], [ -37.001953, 34.016242 ], [ -71.015625, 28.998532 ], [ -103.007812, 39.027719 ], [ -116.982422, 60.020952 ], [ -113.027344, 69.005675 ], [ -92.988281, 75.004940 ], [ -74.003906, 79.004962 ], [ -32.958984, 79.004962 ] ] ] } }
,
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -81.035156, 63.035039 ], [ -28.037109, 59.040555 ], [ -10.019531, 50.007739 ], [ -5.009766, 8.059230 ], [ -17.050781, -21.943046 ], [ -75.058594, -30.977609 ], [ -118.037109, -8.928487 ], [ -135.000000, 29.075375 ], [ -113.027344, 53.014783 ], [ -81.035156, 63.035039 ] ] ] } }
{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -81.035156, 62.995158 ], [ -28.037109, 58.995311 ], [ -10.019531, 50.007739 ], [ -5.009766, 7.972198 ], [ -16.962891, -22.024546 ], [ -74.970703, -30.977609 ], [ -118.037109, -9.015302 ], [ -135.000000, 28.998532 ], [ -113.027344, 53.014783 ], [ -81.035156, 62.995158 ] ] ] } }
] }
] }
] }