<div dir="ltr">ありがとうございます。<div>おそらく、C/C++とPythonのブリッジを提供するSWIGによる制限ですね。</div><div><a href="https://github.com/swig/swig/blob/master/Source/Modules/python.cxx#L2056">https://github.com/swig/swig/blob/master/Source/Modules/python.cxx#L2056</a><br></div><div><br></div><div>このあたりに、C++の .xxf は Fを落すと書いてあります。</div><div><br></div><div>三浦</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017年4月24日 12:42 Taro Matsuzawa <span dir="ltr"><<a href="mailto:taro@georepublic.co.jp" target="_blank">taro@georepublic.co.jp</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">松澤です。<br>
<br>
C++の方のコードは .15f で、<br>
Pythonの方のコードは .15g なので、<br>
そこらへんから調べて見るとよいのではないでしょうか?<br>
(latitudeだと2桁の違いになる)<br>
<br>
また、Pythonの表示をするための文字に変換する組み込み関<wbr>数の<br>
repr()では物によっては .15g となります。<br>
ただ、以下の結果だと期待したものにはなりませんでした。<br>
<br>
>>> repr(139.718509733734379)<br>
'139.71850973373438'<br>
>>> format(139.718509733734379, '.15g')<br>
'139.718509733734'<br>
<br>
あと、gdal-2.0.2のコードが手元にあったので検索して<wbr>みましたが、<br>
決定的な所はわからなかったです。<br>
<br>
ちなみに、座標の比較を行う時は必ず誤差がある前提で比較をしま<wbr>す。<br>
よくこんなのを先に定義してやったりします。<br>
<br>
```python<br>
EPSILON1 = 0.1<br>
EPSILON2 = 0.01<br>
EPSILON3 = 0.001<br>
EPSILON4 = 0.0001<br>
EPSILON5 = 0.00001<br>
# ...<br>
EPSILON16 = 0.0000000000000001<br>
EPSILON17 = 0.00000000000000001<br>
```<div><div class="h5"><br>
<br>
On 2017/04/23 9:19, Miura Hiroshi wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
三浦です。<br>
<br>
先月、基盤地図情報のコンバーターについて、取組をご紹介しまし<wbr>た。<br>
現在、テストケースで悩んでおり、皆さんの知見をお聞かせ頂きた<wbr>いです。<br>
<br>
FGDConvプロジェクト<br>
<a href="https://github.com/miurahr/fgdconv" rel="noreferrer" target="_blank">https://github.com/miurahr/fgd<wbr>conv</a><br>
<br>
テスト結果<br>
<a href="https://travis-ci.org/miurahr/fgdconv/builds/223815639" rel="noreferrer" target="_blank">https://travis-ci.org/miurahr/<wbr>fgdconv/builds/223815639</a><br>
<br>
こちらの結果で、生成されるべきデータの正解を、GDALの<br>
C++版のコマンドで生成しました。<br>
ところが、PythonのGDALで生成したものと、値が異なる<wbr>というのです。<br>
<br>
結果3132行目を細かく見ますと、<br>
実際:139.718509733734<br>
期待:139.718509733734379<br>
のように、桁が3桁も違っています。値はあっているようです。<br>
<br>
なぜ、こんなに桁の精度が違うのでしょう?<br>
<br>
該当するコードは、この辺ですが、値をPython側で明示的に<wbr>処理しているわけで<br>
はないので、不思議に思っています。<br>
<a href="https://github.com/miurahr/fgdconv/blob/master/fgdconv/ogr2ogr.py#L82" rel="noreferrer" target="_blank">https://github.com/miurahr/fgd<wbr>conv/blob/master/fgdconv/ogr2o<wbr>gr.py#L82</a><br>
<br>
三浦<br>
<br>
<br></div></div>
______________________________<wbr>_________________<br>
OSGeoJapan-discuss mailing list<br>
<a href="mailto:OSGeoJapan-discuss@lists.osgeo.org" target="_blank">OSGeoJapan-discuss@lists.osgeo<wbr>.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/osgeojapan-discuss</a><br>
<br>
</blockquote>
<br>
<br>
-- <br>
Georepublic Japan Ltd.<br>
c/o CommunityLink<br>
5-3-1 Kumoidori, Chuo Ward<br>
Kobe 651-0096<br>
<br>
Taro Matsuzawa<br>
Senior Developer<br>
<br>
eMail: <a href="mailto:taro@georepublic.co.jp" target="_blank">taro@georepublic.co.jp</a><br>
Web: <a href="https://georepublic.info" rel="noreferrer" target="_blank">https://georepublic.info</a><br>
<br>
Tel: <a href="tel:%2B81%20%2803%29%206868%205418" value="+81368685418" target="_blank">+81 (03) 6868 5418</a><br>
Fax: <a href="tel:%2B81%20%2803%29%203374%200291" value="+81333740291" target="_blank">+81 (03) 3374 0291</a><br>
______________________________<wbr>_________________<br>
OSGeoJapan-discuss mailing list<br>
<a href="mailto:OSGeoJapan-discuss@lists.osgeo.org" target="_blank">OSGeoJapan-discuss@lists.osgeo<wbr>.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/osgeojapan-discuss</a></blockquote></div><br></div>