インクルードファイルルールを外部ファイルから持ってくることが可能です。relationsの)複数のスタイルファイルで使ったりしたい場合に、スタイルファイルを単純に保つために役立ちます。内容を、この場所にコピーします。addressファイルのルールの変更だけはインクルードファイル内で行わなければなりません。タグのテスト主なテストは、特定のOSMのタグがあり、値やキー(OSM用語でvalueやkey)を持っているかというものです。持っている場合にマッチすることを意味します。1000000それぞれ、意味は、populationが1万より大きい、maxspeedが30以上、populationが100万未満、です。大小比較は、単位付きでもできます。30mphもし、異なる単位がタグに含まれている場合(km/h)、変換が実施されます。この機能は、現時点では実装されていませんので、あなたが出会った実際の便利な使い方を私に教えてください。'\d*00'これは、eleが100の倍数であることをチェックします。タグのテストの組み合わせほとんどのOSMノードやウェイは単一のタグを使うことで変換することができますが、時々複数タグを使う必要があります。具体的には、特別な目的の地図では、よく複数タグを使う必要があります。両方のタグが付けられた道を取り出したい場合です。[0x05]これは、両方のタグを持つ道路はGarmin形式で0x06を使いますが、maxspeedタグのないunclassifiedな道路は0x05を使うことを意味します。ここで、ルールの順序は重要であることに注意してください。ルールは、スタイルファイルに現れた順にマッチするか確認し、mkgmapは最初にマッチしたところでそのルールを適用するため、以降のマッチングを停止します。上記のルールを逆の順序で書いていた場合、highway=unclassifiedのルールは、このタグを持つ全てのOSMのウェイに最初にマッチし、2番目のルールは全く適用されません。したがって、一般的には、限定的なルールを先にして、その複雑な条件で拾われないものをマッチさせるための、単純で一般的なルールを後にすることになるでしょう。使うことで、選択肢を組み合わせて1つのルールにすることもできます。タグ(または両方)を持っている場合、条件はマッチし、mkgmapは種別0x07を使います。footwayのルールとpathのルールの2つの別々のルールを書いた場合と、動作は完全に同じです。実際は、mkgmap内部で、2つの別々のルールに変換されます。一つのルールについて、2つの条件を書くことは制限されていません。後述する例外を除く、ほとんどすべての方法で組み合わせてグループテストをすることができます。タグがある場合にマッチします。重要な注意事項ルールを作成する場合、それぞれのテストは、タグ名の一致や値の存在することをチェックするような単純なテストから始めるべきです。一致テストの式を先頭に再配置するためのいくつかの試みが、mkgmapによって行われます。関数は、OSMの要素の特定の属性を計算します。長さをメートル単位で測ります。リレーションの場合は、サブリレーションを含む全メンバーの長さの合計です。真=ウェイの全てのノードがタイルに含まれている場合。偽=ウェイのいくつかのノードがタイルに不足している場合。真=ウェイが閉じている場合。偽=ウェイが閉じていなくて、多角形として処理できない場合。このルールは、50mを超える長さのserviceウェイにマッチします。追加のテストその他、以下のテストが利用可能です。これは、highwayタグがあって、それがmotorwayの値を持たない場合や、highwayタグ自体がない場合に真になります。highwayタグが存在する場合に真になります。値は何であるかは関係ありません。これは、タグが存在するかを確認するために、特に役立ちます。このルールは、highwayタグを持たないOSMオブジェクトにマッチします。囲われ、表示対象要素を変更できる1つまたは複数のステートメントを含んでいます。よって区切られています。使う場合は、アクションブロックの後に書く必要があります。nameGarmin地図で使用される、要素の最終的な名前を設定します。使って書くことができます。一致する最初の選択肢が使用されます。複数のnameコマンドがマッチする場合は最初に設定されたものが有効になります。両方のスタイルファイルにnameコマンドを書いておく必要があります。タグは、${タグ名}の表記を使うことでその値を参照することができます。nameタグはあるけどrefタグがない場合、要素名がnameタグの値として使われます。路線番号案内標識では、${タグ名|highway-symbol:box}の表記を使うことができます。addaddコマンドは、タグがない場合にタグを追加します。するには、次のようにします。あなたがセットしたい任意のタグをセットできますが、それは有用かもしれないので、ルール内の他の場所でマッチさせることができます。置換を使うことができます。タグがある場合はその値にセットします。nameコマンドと同様に、縦棒で区切られた選択肢表現のリストを書くことができます。最初に全ての条件をみたすものが使われます。'name'の値にセットします。コマンドは、タグを削除します。}空っぽの文字列を設定することでも、同じ結果にすることができます。コマンドの動作は、リレーションにおいてのみ効果があります。バス経路のリレーションがあって、さらに、そのリレーション内にバス経路の一部だと示すタグ付きのウェイが1つもない場合で、バスがどこに行くのか地図を見て分かるようにしたいとします。ファイルに、次のようにルールを書くことができます。ファイルによって、"route_ref"は既に作成されていることに注意してください。その値は、"ref"または"name"のどちらか存在しているほうの値にセットされています。ファイルの中に、route=busにマッチするルールを書く必要があります。全てのリレーションルールは、それ以外のルールよりも先に実行されるので、これはうまく動きます。上のタグの値になり、リレーションに含まれるそれぞれのウェイに適用されます。置換は、実際に処理される、realationに含まれるそれぞれのウェイのタグの値のアドレッシングに使用できます。コマンドの動作は、applyに似ていますが、リレーションの各要素につき一度だけ適用されます。往復ルートを示すリレーションでは、並行する一方通行の通りで定義されない限り、同一のウェイを複数回含むことがよくあります。コマンドの動作は、バスの経路が、方向ごとに一つずつの、2つのリレーションであるような場合には便利ではありません。1153657sketch-routeルーティングと住所検索のために有用なタグ回避オプションを使った一般的なルーティングや、住所検索のために、特別なタグを使う必要があります。