Accept 0 as a feature ID in --use-attribute-for-id

strip_zeroes() removed every leading zero, so "0" became "" and never
matched std::to_string(0). The ID was rejected as too large and the
feature was left without an ID. Keep the final digit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0172RxhnHkNgRZ3NBrsRJZYK
This commit is contained in:
Claude
2026-09-26 17:33:51 +00:00
parent 4f2621186a
commit 0dd272824d
11 changed files with 61 additions and 23 deletions
+2
View File
@@ -10,3 +10,5 @@
{ "type": "Feature", "id": 1234, "properties": { "yes": "no", "special": 98237489273489274389728497289472839478297489274892734892, "something": false }, "geometry": { "type": "Point", "coordinates": [ 10, 1 ] } }
{ "type": "Feature", "properties": { "yes": "no", "special": 27, "something": false }, "geometry": { "type": "Point", "coordinates": [ 11, 1 ] } }
{ "type": "Feature", "properties": { "yes": "no", "special": "01005", "something": false }, "geometry": { "type": "Point", "coordinates": [ 12, 1 ] } }
{ "type": "Feature", "properties": { "yes": "no", "special": 0, "something": false }, "geometry": { "type": "Point", "coordinates": [ 13, 1 ] } }
{ "type": "Feature", "properties": { "yes": "no", "special": "0", "something": false }, "geometry": { "type": "Point", "coordinates": [ 14, 1 ] } }