[OSGeoJapan-discuss] OpenLayersの円の描画について

カーネル 垂水 tarumi @ kk-kernel.co.jp
2014年 10月 2日 (木) 18:23:33 PDT


喜多様へ

垂水です

不具合は解決しているはずです。

以下の関数は円を形成するLONLATの配列を返します。
あとはEPSG900913に変換してポリゴンや、ポリラインで描画してください

function get_circle_points(x, y, radius){

     var apex = 40;

     var latlon = new OpenLayers.LonLat(x, y);

     var angle;
     var new_lonlat;
     var points = [];
     for (var i = 0; i < apex+1; i++) {
         angle = (i * 360 / apex) + 0;
         new_lonlat = OpenLayers.Util.destinationVincenty(latlon, angle, 
radius);
         points.push([new_lonlat.lon, new_lonlat.lat]);
     }
     return points;
};



(2014/10/03 9:13), 喜多耕一 wrote:
> 垂水様
>
> 北海道の喜多です。
> ありがとうございます。
> 垂水さんのブログも参考にはしていたのですが、円が切れてしまっていたのは 
> 解決してますか?
> もし解決していましたら、コードなど教えていただければ助かります。
>
> また、このように描画した円をkmlに出力したいのですが、可能でしょうか?
>
> よろしくお願いします。
>
> 北海道 喜多耕一
>
> 2014年10月3日金曜日、カーネル 垂水<tarumi @ kk-kernel.co.jp 
> <mailto:tarumi @ kk-kernel.co.jp>> さんは書きました:
>
>     垂水といいます。
>
>     OpenLayers.Util.destinationVincenty
>
>     を使って円を形成する各座標を求めるとよいです。
>
>     (2014/10/02 21:09), 喜多耕一 wrote:
>>     みなさま
>>
>>     北海道の喜多です。
>>     現在、OpenLayersで地理院地図を表示して、そこに40kmの円を描画する
>>     プログラムを作っていま す。
>>     Googlemap APIでは、簡単に出来たのですが、OpenLayersで
>>     OpenLayers.Geometry.Polygon.createRegularPolygonで、redius因数に
>>     40000とし ても少し小さな円が出来てしまいます。
>>     北海道南部では、1.345くらいかけるとちょうどいいのですが、北や南に
>>     移動すると大きさが変わってしまい ます。
>>     redius因数の単位がmではないのでしょうか?
>>     Wikiページには、「地図の単位」としか記載されていません。
>>     何か係数をかければいいのか、単位が違うのか、わからなくて困ってい
>>     ます。
>>     どなたかご教授下さい。
>>
>>     地図の座標系は900913で、表示の座標系は4326です。
>>
>>     よろしくお願いします。
>>
>>     北海道 喜多耕一
>>
>>
>>     _______________________________________________
>>     OSGeoJapan-discuss mailing list
>>     OSGeoJapan-discuss @ lists.osgeo.org  <javascript:_e(%7B%7D,'cvml','OSGeoJapan-discuss @ lists.osgeo.org');>
>>     http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20141003/d998f0e7/attachment-0001.html>


More information about the OSGeoJapan-discuss mailing list