OpenGeoのインストール先
/usr/share/opgeo-suite-data/
AtlasStyler簡単な使い方
Import→Import file→シェープファイル選んでfinish
Styleってボタンを押下→Close
ウインドウは2つ、プレビューが後ろでスタイル設定が前面
前面左下Add new
多分Single symbolが標準、
Quantities:Colord quantitiesが属性の値に応じてグラデーション的に色を変化させるカラーレンジ、
Labelsは属性情報を地図上に表示させるラベル、
Categories:Unique valuesが属性の値に応じて自由に設定ができる(線色、線幅等)
Categories:Unique valuesについて
Value Fieldで属性を選択
下のAdd all valuesを押下でウインドウ真ん中に属性が追加される
あ、多分Shift_JISには対応してないので日本語属性の時は注意
あとは見ればだいたい分かるど
DBFのShift_JIS変換
OSMから手に入れたデータをQGIS(1.8)である程度抽出して保存しようとしたら、どうしても日本語が文字化けする。
UTF-8で読んでUTF-8で吐き出してもダメ。
WindowsだからってんならDBFの文字コードをShift_JISに変えてみてはどうかと試す。
方法はこれ
http://pucyan.blog77.fc2.com/blog-entry-113.html
九州自動車道()この括弧内の文字列がダメって出るので置き換えておく事を忘れずに。
ちなみにOpenOfficeで呼び出すのも保存するのも件数があるのでそれなりに時間が掛かる
これでShif_JISになったし完璧と思って同じように抽出して保存したらやはりダメだった_| ̄|○
使えないなぁQGIS1.8・・・他のバージョンで試してみるか
追記
QGIS1.6だと上手くいった。
○Shift_JISなDBF→Shift_JIS
○UTF-8なDBF→UTF-8
○UTF-8なDBF→Shift_JIS
おおー、優秀♪
おまけ
QGISの検索で!= NULLは1.8では効いたけど1.6ではダメだった IS NOT NULLはOK
道路中心線が欲しい
道路中心線のデータが欲しいんだけど、無料でするならOpenStreetMapを利用するしか無いっぽい。
って事で色々漁った結果
http://downloads.cloudmade.com/asia/eastern_asia/japan/kumamoto#downloads_breadcrumbs
から熊本の道路データがダウンロード可能。
なんとShapeでもできるぞ!こりゃ便利♪
道路のデータはhighiwayに格納されてる。
NAMEがNull以外だったら主要な道路っぽい。
ONEWAYが一通かな、恐らく座標の始点から終点方向だよね。
LANES?レーン?なんだろ?
SLD(Styled Layer Descriptor)について
エディタもあった(スケールの設定は無理っぽい?)できる
紹介
http://live.osgeo.org/ja/overview/atlasstyler_overview.html
ダウンロード
http://en.geopublishing.org/Download
<?xml version="1.0" encoding="UTF-8"?> <sld:UserStyle xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <sld:Name>kiban-25000-buildings</sld:Name>←名前 <sld:Title>kumamoto - Buildings</sld:Title>←タイトル <sld:FeatureTypeStyle> <sld:Name>name</sld:Name>←これから設定を行う名前(グループ?) <sld:Rule> <sld:Name>Buildings < 3K </sld:Name>←これから行う設定名 <sld:Title>Buildings 17K-3K</sld:Title>←これから行う設定のタイトル <sld:MinScaleDenominator>3000.0</sld:MinScaleDenominator>←最大表示スケール <sld:MaxScaleDenominator>17000.0</sld:MaxScaleDenominator>←最小表示スケール <sld:PolygonSymbolizer> <sld:Fill>←面について <sld:CssParameter name="fill">#333333</sld:CssParameter>←面の色 <sld:CssParameter name="fill-opacity">0.2</sld:CssParameter>←面の透過率0.0(完全に透明)〜1.0(完全に不透明) </sld:Fill> <sld:Stroke>←線(枠線)について <sld:CssParameter name="stroke">#333333</sld:CssParameter> <sld:CssParameter name="stroke-opacity">0.4</sld:CssParameter> <sld:CssParameter name="stroke-width">.5</sld:CssParameter>←ポイント? </sld:Stroke> </sld:PolygonSymbolizer> </sld:Rule>←ここで一つのルールの終了 </sld:FeatureTypeStyle> </sld:UserStyle>
MaxScaleDenominatorだけの設定だとそれ以上のスケールであれば表示される
MinScaleDenominatorだけの設定だとそれ以下のスケールであれば表示される
今回の設定であれば1/3000(1/3001か?)〜1/17000の間だけ表示
レイヤの表示非表示
var test = new OpenLayers.Layer.Vector(name, options);
test.display(false);
みたいな
ただし、LayerSwicherと連動はしない。
LayerSwicherに表示させないオプションなかったっけー
追記
地図をPanさせたりするとまた表示されたw
まいったなー
追記の追記
非表示はremoveMap(LayerSwitcherからも消える)
表示はまたaddLayerでまた読み込む(LayerSwitcherに追加される)のが現状ではベストっぽい
追記の追記
解決方法分かった。
よく見たらLayerのFunctionにsetVisibilityあるじゃん><
function mapLayerActivateDeactivate(layerName, layerBoolean) { var layerArray = map.layers; for (var i=0;i<layerArray.length;i++) { if (map.layers[i].name == layerName) { map.layers[i].setVisibility(layerBoolean); } } }
これでOK
いっこずついくなら
wms.setVisibility($(this).attr('checked'));
読み逃しなんてあまいなぁ、俺