トップ地図アプリGIS > OSMファイルのエンコード

OSMファイルのエンコード

はじめに

パソコンの買い替えに伴い、Javaのコンパイラをバージョンアップした。

PS C:\Users\hatad> java  -Xmx6g -classpath ./class Util -encode kanto
Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/c:/osm/kanto.osm; lineNumber: 2; columnNumber: 1; プロローグにはコンテンツを指定できません。

osmconvertもバージョンアップしたため、原因は encoder.java にあるとは限らない。

また、リダイレクトでファイルに出力すると、ファイルサイズが巨大になり、時間もかかる問題がある。 パイプで osmconvert の出力を受ける方が良いかもしれない。 しかし、SAXParser を使うのが難しいかもしれない。

急ぐ話ではないので、じっくり考えてみよう。

対策

OSMファイルの1行目をプリントした結果、どうやら osmconvert が BOM をつけるようになったようだ。

また、ファイルサイズが2倍になるので、どこかに問題がある。 したがって、解凍には osmconvert の代わりに osmosis を用いることにした。

A.リファレンス

[1] JA:OSM XML
[2] Download OpenStreetMap data for this region: Japan
[3] C# Point in polygon
[4] Determine if the point is in the polygon, C#
[5] PNPOLY - Point Inclusion in Polygon Test