Having trouble reading UTF-8 encoded GeoJSON on Windows

Aperta
#34 3 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
cli

Direzione di ricerca

Inizia da tilesets/scripts/cli.py alla riga 320, dove add_source itera sulle features, quindi segui il percorso cligj normalize_feature_inputs mostrato nello stack trace. Riproduci il problema di GeoJSON UTF-8 su Windows e determina il comportamento previsto per la decodifica dell’input. Il lavoro è completato quando il comando analizza il GeoJSON UTF-8 fornito senza il cp1252 UnicodeDecodeError, con una copertura per il caso che fallisce.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug enhancement

I can't figure out what I'm doing wrong. I have a LF delimited geojson I'm trying to upload as a source. The GeoJson contains some non-ANSI characters and so is encoded in UTF-8.

The command I am using looks something like this:
tilesets add-source {account} source-name source-file.geojson

I can't figure out how to get the JSON to parse using UTF-8, it seems like it always tries to use cp1252.py.

So I'm getting this error:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 5413: character maps to undefined

Full stack trace:

    load_entry_point('tilesets-cli==0.3.2.dev0', 'console_scripts', 'tilesets')()
  File "c:\tools\python\python37\lib\site-packages\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "c:\tools\python\python37\lib\site-packages\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "c:\tools\python\python37\lib\site-packages\click\core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\tools\python\python37\lib\site-packages\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\tools\python\python37\lib\site-packages\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\tools\python\python37\lib\site-packages\click\decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\tools\python\python37\lib\site-packages\tilesets\scripts\cli.py", line 320, in add_source
    for feature in features:
  File "c:\tools\python\python37\lib\site-packages\cligj\features.py", line 30, in normalize_feature_inputs
    for feature in iter_features(iter(src)):
  File "c:\tools\python\python37\lib\site-packages\cligj\features.py", line 121, in iter_features
    text = "".join(chain([first_line], geojsonfile))
  File "c:\tools\python\python37\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 5413: character maps to <undefined>```
Lingua principale
Python
Stelle
141
Fork
27
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di mapbox/tilesets-cli

Tutte le issue di mapbox/tilesets-cli

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.