Re: [OSGeoJapan-discuss] Douglas-Peukerなどを用いた簡素化についてのアルゴリズムを教えてください。

wakasa masao machio @ mac.com
2010年 6月 27日 (日) 04:28:34 EDT


ラガワン先生、かやまさん

若狭です。

ありがとうございます!
ご紹介いただいたJavaのライブラリいれてやってみました。
数値上でしか見ていないのですが、かけたあとのポイント数的は一緒になりました!
ソース見る限りそれほど面倒そうな事もやっていないのでなぜこうなる!と疑問に思いましたがぐっと飲み込みます。

あと、少々ライブラリサイズがでかいので悩ましいのと、PostGISのライブラリと名前がぶつかりまくってプログラムが少々難解になりかけますが、これでいけそうです。
必要な部分だけ切り取るという事も考えられなくもないですが少々面倒なオーラが・・。
ありがとうございました。

よろしくお願いします。

------------
wakasa masao



2010年6月27日14:56 Yoichi Kayama <yoichi.kayama @ gmail.com>:
> かやまです
>
> 元メールにJavaかJavaScript と書いてあったのを見落としていました
>
> Javaだとここです
>
> http://www.vividsolutions.com/jts/javadoc/com/vividsolutions/jts/simplify/package-summary.html
>
>
> JTS Topology Suite  というやつが FOSS4Gの世界では Javaで空間情報を
> あつかう場合の定番です。
>
> 2010年6月27日14:27 Yoichi Kayama <yoichi.kayama @ gmail.com>:
>> かやまです
>>
>> ラガワン先生紹介のページみてみると
>>
>>>Performed by the GEOS module.
>>
>> とあります
>>
>> QGISのftoolプラグインにも同様の機能があるのでソース追ってみました
>>
>>
>> doGeometry.py というpythonのモジュールですが
>>
>>  def simplify_geometry( self ):   こういう関数がありまして
>>
>>
>>  while vprovider.nextFeature( inFeat ):
>>      nElement += 1
>>      self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ),  nElement )
>>      inGeom = inFeat.geometry()
>>      atMap = inFeat.attributeMap()
>>      outGeom = QgsGeometry(inGeom.simplify(tolerance))
>>      if outGeom is None:
>>        return "math_error"
>>      outFeat.setAttributeMap( atMap )
>>      outFeat.setGeometry( outGeom )
>>      writer.addFeature( outFeat )
>>
>> こんなかんじです
>>
>> 実際の処理はここなんですが
>>      outGeom = QgsGeometry(inGeom.simplify(tolerance))
>>
>> 多分ここも GEOS のライブラリを参照しているので GEOSのライブラリを
>> 使うといいのかもしれません
>>
>> http://trac.osgeo.org/geos/
>>
>>
>>
>>
>>
>> 2010年6月27日13:58 Venkatesh Raghavan <raghavan @ media.osaka-cu.ac.jp>:
>>> On 2010/06/27 13:48, wakasa masao wrote:
>>>
>>>> ではPostGISのST_Simplifyは何をやっているんだろう・・。
>>>
>>> ST_Simplify also use the same Douglas-Peuker algorithm
>>> for line generalization
>>> Details at:
>>> http://postgis.refractions.net/docs/ST_Simplify.html
>>>
>>> Best
>>>
>>> Venka
>>>
>>
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
>


OSGeoJapan-discuss メーリングリストの案内