5 votos

Conversión de archivo shapefile de Shift_JIS a UTF-8 cuando los métodos habituales de fallar

Larga historia corta, estoy tratando de importar este archivo ESRI shapefile de Japón en CartoDB. (Lo sentimos, no hay enlace directo: para descargar, haga clic en la naranja ファイルのダウンロード botón, compruebe 同意する a aceptar los T&C, a continuación, haga clic en el verde 全国市区町村界データのダウンロード botón.)

El problema es que el DBF en el archivo está codificado como Shift_JIS, y CartoDB sólo le gusta UTF-8. He intentado lo siguiente, sin éxito:

1) ogr2ogr

ogr2ogr --config SHAPE_ENCODING Shift_JIS japan_ver72_utf8.shp 

No-op: SJIS, SJIS.

ogr2ogr --config SHAPE_ENCODING UTF-8 japan_ver72_utf8 japan_ver72.shp

Hace ogr2ogr creo que la entrada es UTF-8, lo que significa que obtener de la basura.

2) de QGIS

Carga el archivo de forma en QGIS como ShiftJIS. Pero mientras que las formas se cargan bien, QGIS vuelca un montón de esto en la carga:

ERROR 1: fread(48623) failed on DBF file.

Y la inspección de la tabla de atributos de sólo muestra un montón de valores nulos, así que no hay razón para tratar de salvar como UTF-8.

3) OpenOffice Calc

La carga de la DBF en OpenOffice, re-exportar como SJIS. Pero OO lanza un error al analizar el DBF y se niega a importar el archivo.

4) iconv

Ejecutar iconv directamente en el DBF:

iconv -f Shift_JIS -t UTF-8 japan_ver72_sjis.dbf >japan_ver72.dbf

Este "obras", en el sentido de que los Japoneses dentro de está correctamente recodificado como UTF-8, pero destruye la DBF en el proceso.

Ideas?

3voto

ashley willis Puntos 111

Recientemente, también me encuentro con problemas con los caracteres Chinos de lectura en el archivo dbf !

Aquí está el convertir herramienta para shapefile geojson a través de navegador web sin necesidad de código del lado del servidor y de apoyo no-inglés codificación, sólo tiene que subir el archivo zip y definir la codificación (shift-jis) para mostrar correctamente el texto en Japonés.

http://gipong.github.io/shp2geojson.js/

enter image description here

Se creará un archivo geojson , así que usted puede utilizar con leaflet.js, openlayer o cartodb.js. https://github.com/gipong/shp2geojson.js

2voto

Joe Puntos 16

Si usted sólo necesita para hacer el trabajo una vez y no hay necesidad de ir a las secuencias de comandos, a continuación, una manera sencilla es convertir los datos con OpenJUMP.

Activar el charactes conjunto de selección de menú Personalizar - Opciones

enter image description here

Abrir el conjunto de datos como Shift-JIS

enter image description here

Guardar los datos de vuelta con Guardar como... y seleccione UTF-8 caracteres

enter image description here

1voto

Michael Barker Puntos 8234

ogr2ogr página man dice que esto debería funcionar

ogr2ogr --config SHAPE_ENCODING Shift_JIS japan_ver72_utf8.shp  -lco ENCODING=UTF-8

Has probado ya ? (Probablemente necesita la versión de linux de ogr2ogr)

1voto

Seth Petry-Johnson Puntos 5709

El uso de la versión 1.2 de H2GIS (java base de datos espaciales) aquí: http://search.maven.org/remotecontent?filepath=org/orbisgis/h2-dist/1.2.0/h2-dist-1.2.0-bin.zip

Se puede cargar el archivo en la base de datos mediante la codificación del derecho. H2GIS es capaz de encontrar la codificación del derecho en la dbf encabezado, sin embargo en windows el nombre de codificación no es compatible.

Descomprimir el archivo. Ejecutar con el último de java el archivo h2-dist-1.2.0.jar

Seleccione base de datos integrada y conectar.

Usted tiene que espacialmente habilitar la base de datos:

CREATE ALIAS IF NOT EXISTS SPATIAL_INIT FOR
    "org.h2gis.h2spatialext.CreateSpatialExtension.initSpatialExtension";
CALL SPATIAL_INIT();

A continuación, importar el archivo de forma:

-- If under windows
CALL SHPREAD('file:///E:/downloads/japan_ver72/japan_ver72.shp','JAPAN_VER72','Shift_JIS');
-- if under linux/mac
CALL SHPREAD('/home/user/downloads/japan_ver72/japan_ver72.shp')

Finalmente exportar la tabla en un archivo de forma en virtud de la codificación UTF-8.

CALL SHPWRITE('file:///E:/downloads/japan_ver72/converted.shp', 'JAPAN_VER72', 'utf-8');

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X