Repository navigation
Commit 9cdf58e
Quote GeoJson identifier properties that aren't valid JS identifiers (#2296)
When GeoJson features have no unique `id`, `find_identifier` picks a
property with unique values and emits it with dot notation in the styler
and highlighter `switch`. A key like "Time (UTC)" became
`feature.properties.Time (UTC)`, which Javascript runs as a call and throws
`ReferenceError: UTC is not defined`, so nothing in the layer was drawn
(#1782). A key like "property-key" turned into a subtraction, and a key
with a dot ("osm.id") made `get_feature_id` raise `KeyError` while
rendering.
Keys that aren't identifiers now use bracket notation with an escaped
JSON string, and `get_feature_id` reads that form back.
Co-authored-by: adarshsm <24850536+adarshsm@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>1 parent 42a535e commit 9cdf58e
2 files changed
Lines changed: 52 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
829 | 829 | | |
830 | 830 | | |
831 | 831 | | |
832 | | - | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
833 | 837 | | |
834 | 838 | | |
835 | 839 | | |
| |||
910 | 914 | | |
911 | 915 | | |
912 | 916 | | |
913 | | - | |
914 | | - | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
915 | 924 | | |
916 | 925 | | |
917 | 926 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
265 | 273 | | |
266 | 274 | | |
267 | 275 | | |
268 | 276 | | |
269 | 277 | | |
270 | | - | |
| 278 | + | |
271 | 279 | | |
272 | 280 | | |
273 | 281 | | |
274 | 282 | | |
275 | 283 | | |
276 | 284 | | |
277 | 285 | | |
278 | | - | |
| 286 | + | |
279 | 287 | | |
280 | 288 | | |
281 | 289 | | |
| |||
344 | 352 | | |
345 | 353 | | |
346 | 354 | | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
347 | 384 | | |
348 | 385 | | |
349 | 386 | | |
| |||
0 commit comments