ozekik/plateaukit

Windows10 Python 3.10.11でプレビルドするとエラー

Closed this issue · 5 comments

Windows10 Python 3.10.11の環境で,コマンドラインでデータをプレビルドすると下記のエラーとなります.

AttributeError: You are calling a geospatial method on the GeoDataFrame, but the active geometry column to use has not been set.
There are no existing columns with geometry data type. You can add a geometry column as the active geometry column with df.set_geometry.

ご報告ありがとうございます!
昨日修正版 (v0.11.2) をリリースしたのですが、そちらへのアップデートで解消しますでしょうか?

pip install plateaukit -U

回答ありがとうございます.
最新版の0.11.2にアップデートしましたが,やはり同じ症状でプレビルドができないです.

pip show plateaukit

Name: plateaukit
Version: 0.11.2
Summary: Python library and converter for 3D city models by MLIT Project PLATEAU
Home-page: https://ozekik.github.io/plateaukit/
Author: Kentaro Ozeki
Author-email: 32771324+ozekik@users.noreply.github.com
License: MIT
Location: c:\users\nmuka.pyenv\pyenv-win\versions\3.10.11\lib\site-packages
Requires: bidict, click, fs, geojson, geopandas, kanjize, loguru, lxml, normalize-japanese-addresses, numpy, platformdirs, prettytable, pydantic, pydeck, pyogrio, pyproj, requests, rich
Required-by:

名古屋市のデータでプレビルドすると下記のエラーです.
'Building_BuildingStructureType.xml'が存在しないようなのですが,これはPLATEAUのデータ側の問題でしょうか.
(ちなみにMacだと問題なくプレビルドできました)

plateaukit prebuild plateau-23100-nagoya-shi-2020

fs.errors.ResourceNotFound: resource '\23100_nagoya-shi_2020_citygml_4_op\codelists\Building_BuildingStructureType.xml'
not found

MacでプレビルドしたデータをWindowsに移行することは可能でしょうか.

ご確認ありがとうございます。Windows環境でエラーが再現できました。(Windows上でのパスの処理に問題がありました)
修正版をv0.11.3としてリリースしましたので、アップデートしていただけますと幸いです。
手元では動作を確認できたのですが、もしまだ不具合がありましたらお手数ですがお知らせいただけると助かります。

(補足)

UnicodeEncodeError: 'charmap' codec can't encode characters in position ...

といったエラーが出る場合は、さらに環境変数に PYTHONUTF8=1 を設定する必要があるようです。

MacでプレビルドしたデータをWindowsに移行することは可能でしょうか.

確認はできていないのですが、macOS での Users/<username>/Library/Application Support/plateaukit/ 以下が Windows での C:\\Users\<username>\AppData\Local\plateaukit\plateaukit\ 以下に対応していますので、ファイルをコピーすればこちらもおそらく可能です。

迅速なアップデートの対応をありがとうございました.
ご指示頂いたv0.11.3で,環境変数`PYTHONUTF8=1'を設定した上で,インストール&プレビルドが出来ることを確認しました.

本質的な問題ではないのですが,WindowsでインストールしたPLATEAUのデータを確認したところ,
GeoPandas(area.gdf)にusage(建物の用途)の属性が含まれていませんでした(Macでインストールしたデータは存在したのですが).
このため,Macでプレビルドしたデータを,Windowsにコピーすることで,望ましい結果を得ることができました.

丁寧なご対応を頂き,感謝申し上げます.

ありがとうございます! お手数をおかけしてすみません。
usage の問題についても情報ありがとうございます。確認してみます。