qgis-documentation - en to ja translation catalogue (140 entries)

en: **Every symbol consists of one or more symbol layers** (classes derived from :class:`QgsSymbolLayerV2`). The symbol layers do the actual rendering, the symbol class itself serves only as a container for the symbol layers.
ja: **全てのシンボルは一つ以上のシンボルレイヤーから構成されます** (:class:`QgsSymbolLayerV2` の派生クラスです)。シンボルレイヤーは実際にレンダリングをして、シンボルクラス自信はシンボルレイヤのコンテナを提供するだけです。

en: :class:`QgsFillSymbolV2` - for polygon features
ja: :class:`QgsFillSymbolV2` - ポリゴンのフィーチャ用

en: :class:`QgsLineSymbolV2` - for line features
ja: :class:`QgsLineSymbolV2` - ラインのフィーチャ用

en: :class:`QgsMarkerSymbolV2` - for point features
ja: :class:`QgsMarkerSymbolV2` - ポイントのフィーチャ用

en: :class:`QgsSymbolLayerV2Registry` class manages a database of all available symbol layer types.
ja: :class:`QgsSymbolLayerV2Registry` クラスは利用可能な全てのシンボルレイヤタイプのデータベースを管理しています。

en: :func:`select` gives you flexibility in what data will be fetched. It can get 4 arguments, all of them are optional:
ja: :func:`select` によって自由にデータを呼び出せます. 4つの引数をオプションとして指定可能です:

en: A memory provider is created by passing ``"memory"`` as the provider string to the :class:`QgsVectorLayer` constructor.
ja: メモリープロバイダーは :class:`QgsVectorLayer` のコンストラクタに ``"memory"`` をプロバイダーの文字列として与えると作成されます。

en: A symbol determines color, size and other properties of the feature. Renderer associated with the layer decides what symbol will be used for particular feature. There are four available renderers:
ja: シンボルはフィーチャの色、サイズ、そしてその他のプロパティを決定します。レンダラは個々のフィーチャが使っているシンボルを決めるレイヤーに関連付けられています。ここには４つの使えるレンダラがあります:

en: Add Features
ja: フィーチャの追加

en: Adding and Removing Fields
ja: フィールドの追加または削除

en: Appearance (Symbology) of Vector Layers
ja: ベクタレイヤーの外観(シンボロジ)

en: As said before, symbol layers (subclasses of :class:`QgsSymbolLayerV2`) determine the appearance of the features.  There are several basic symbol layer classes for general use. It is possible to implement new symbol layer types and thus arbitrarily customize how features will be rendered. The :func:`layerType` method uniquely identifies the symbol layer class --- the basic and default ones are SimpleMarker, SimpleLine and SimpleFill symbol layers types.
ja: 前に述べたようにシンボルレイヤ(:class:`QgsSymbolLayerV2` のサブクラスです) はフィーチャの外観を決定します。一般的に使われるいくつかの基本となるシンボルレイヤのクラスがあります。これは新しいシンボルレイヤの種類を実装を可能とし、それによってフィーチャがどのようにレンダーされるかを任意にカスタマイズできます。 :func:`layerType` メソッドはシンボルレイヤクラスの一意に識別します --- 基本クラスは標準で SimpleMarker 、 SimpleLine 、 SimpleFill がシンボルレイヤのタイプとなります。

en: Assign the renderer to a layer::
ja: レイヤにレンダラを割り当てる::

en: Below is an example how to go through the features of the layer. To read features from layer, initialize the retieval with :func:`select` and then use :func:`nextFeature` calls::
ja: レイヤの特徴の調べ方についていかに述べていきます. レイヤの特徴を読み込むため, :func:`select` によって読み込みを初期化してから :func:`nextFeature` を呼び出します::

en: By using any of following methods for vector layer editing, the changes are directly committed to the underlying data store (a file, database etc). In case you would like to do only temporary changes, skip to the next section that explains how to do :ref:`modifications with editing buffer <editing-buffer>`.
ja: 以下で述べているどのベクターレイヤを編集するメソッドを使った場合も、元となるデータソース(ファイルやデータベースなど)に直接変更が反映されます。もし一時的な変更だけをしたいだけであれば、 :ref:`編集バッファでの修正 <editing-buffer>` 方法について説明している次のセクションまでスキップしてください。

en: Categorized Symbol Renderer
ja: カテゴリ分けシンボルレンダラ

en: Class
ja: クラス

en: Create a single symbol renderer::
ja: 単一シンボルレンダラのを作る::

en: Create graduated symbol renderer::
ja: 連続階調のシンボルレンダラを作る::

en: Create some :class:`QgsFeature` instances and pass a list of them to provider's :func:`addFeatures` method. It will return two values: result (true/false) and list of added features (their ID is set by the data store)::
ja: :class:`QgsFeature` インスタンスをいくつか作り、インスタンスの配列をプロバイダの :func:`addFeatures` に通します。これは二つの値を返します: 結果(true/false)と追加されたフィーチャの配列(これらのIDはデータストアによってセットされています)::

en: Create unique value renderer::
ja: 単一の値のレンダラを作る::

en: Creating Custom Renderers
ja: カスタムレンダラの作成

en: Creating Custom Symbol Layer Types
ja: カスタムレイヤータイプを作成する

en: Delete Features
ja: フィーチャの削除

en: Description
ja: 詳細

en: Finally, let's check whether everything went well::
ja: 最後にやったことを全て確認していきましょう::

en: For polylines and polygons the only difference would be in the rendering method: you would use :func:`renderPolyline` which receives a list of lines, resp. :func:`renderPolygon` which receives list of points on outer ring as a first parameter and a list of inner rings (or None) as a second parameter.
ja: ポリラインとポリゴンではレンダリングのメソッドが違うだけです: (ポリラインでは)それぞれのラインの配列を受け取る :func:`renderPolyline` を使います。 :func:`renderPolygon` は最初のパラメータを外輪としたポイントのリストと、２つ目のパラメータに内輪(もしくは None)のリストを受け取ります。

en: For representation of symbols, there is :class:`QgsSymbolV2` base class with three derived classes:
ja: シンボルを表現するには、 :class:`QgsSymbolV2` ベースクラス由来の三つの派生クラスを使います:

en: For valid driver names please consult the `supported formats by OGR`_ --- you should pass the value in "Code" column as the driver name. Optionally you can set whether to export only selected features, pass further driver-specific options for creation or tell the writer not to create attributes --- look into the documentation for full syntax.
ja: 正しいドライバの名前は `supported formats by OGR`_ を参考にしてください --- "Code" カラムの値をドライバの名前として渡して下さい。オプションとして選択したフィーチャだけをエクスポートするかどうかをセットする事ができ、作成のため追加のドライバを指定するオプションを通すか、出力で属性を作らないように伝えるかをします --- 全てのシンタックスはドキュメントを見て下さい。

en: From QGIS version 1.7 the URI can also specify the coordinate reference system, fields, and indexing of the memory provider in the URI. The syntax is:
ja: QGIS 1.7 から URI に座標参照系、フィールド、URIのメモリープロバイダーのインデックスを指定することができます。シンタックスは:

en: Further Topics
ja: さらに詳しいトピック

en: Graduated Symbol Renderer
ja: 連続値シンボルレンダラ

en: Having an instance of a symbol (e.g. from a renderer), it is possible to explore it: :func:`type` method says whether it is a marker, line or fill symbol. There is a :func:`dump` method which returns a brief description of the symbol. To get a list of symbol layers::
ja: (例えばレンダラから)シンボルのインスタンスを持っていればそれの中身を調べる事ができます: :func:`type` メソッドはそれ自身がマーカか、ラインか、シンボルで満たさたものかを返します。 :func:`dump` メソッドはシンボルの簡単な説明を返します。シンボルレイヤーの配列を取得するにはこのようにします::

en: How to create a fill symbol::
ja: 塗りつぶしシンボルの作り方::

en: How to create a line symbol::
ja: ラインシンボルの作り方::

en: How to create a point symbol::
ja: ポイントシンボルの作り方::

en: How to create an SVG symbol::
ja: SVGシンボルの作り方::

en: How to find out which implementation is currently in use::
ja: 現在どちらの実装を使っているかはこのように調べます::

en: If you wish to create your own graduated symbol renderer you can do so as illustrated in the example snippet below (which creates a simple two class arrangement)::
ja: もし連続値シンボルレンダラを作ろうとしているのであれば次のスニペットの例で書かれているようにします(これはシンプルな二つのクラスを作成するものを取り上げています)::

en: Imagine you would like to customize the way how the data gets rendered. You can create your own symbol layer class that will draw the features exactly as you wish. Here is an example of a marker that draws red circles with specified radius::
ja: あなたがデータをどうレンダーするかをカスタマイズしたいと考えているとします。あなたはあなたが思うままにフィーチャを描画する独自のシンボルレイヤクラスを作ることができます。次の例は指定した半径で赤い円を描画するマーカを示しています::

en: In QGIS v1,4 a new vector rendering stack has been introduced in order to overcome the limitations of the original implementation. We refer to it as new symbology or symbology-ng (new generation), the original rendering stack is also called old symbology. Each vector layer uses either new symbology or old symbology, but never both at once or neither of them. It's not a global setting for all layers, so some layers might use new symbology while others still use old symbology. In QGIS options the user can specify what symbology should be used by default when layers are loaded.  The old symbology will be kept in further QGIS v1.x releases for compatibility and we plan to remove it in QGIS v2.0.
ja: QGIS v1.4ではオリジナルの実装の限界を超えるために新しいベクタのレンダリングスタックが導入されました。私達はこれを新しいシンボロジもしくは symbology-ng (new generation)と呼び、オリジナルのレンダリングスタックは古いシンボロジと呼んでいます。ベクタレイヤーごとに新しいシンボロジも古いシンボロジも使うことができますが、一度に両方を使ったり、どちらも使わないということはできません。全てのレイヤーの共通の設定ではなく、いくつかのレイヤーは新しいシンボロジを使って、他は古いシンボロジを使います。QGISにはユーザがレイヤーを読み込んだ時に標準で使うシンボロジを指定するオプションがあります。古いシンボロジは QGIS v1.x リリースの間は互換性のために残していますが、我々は QGIS v2.0 で削除することを計画しています。

en: In order to make undo/redo work properly, the above mentioned calls have to be wrapped into undo commands. (If you do not care about undo/redo and want to have the changes stored immediately, then you will have easier work by :ref:`editing with data provider <editing>`.) How to use the undo functionality ::
ja: 適切に undo/redo が動くようにするには、上記で言及しているコマンドを undo コマンドでラップする必要があります。(もし undo/redo を気にしないで、逐一変更を保存するのであれば、 :ref:`データプロバイダでの編集 <editing>` で簡単に実現できるでしょう。) undo機能はこのように使います::

en: Intro to spatial indexing
ja: 空間インデックスについて

en: It is possible to either change feature's geometry or to change some attributes. The following example first changes values of attributes with index 0 and 1, then it changes the feature's geometry::
ja: フィーチャのジオメトリの変更も属性の変更もどちらも可能です。次のサンプルは最初にインデックス 0 と 1 の属性の値を変更し、その後にフィーチャのジオメトリを変更しています::

en: It is possible to obtain a dump of a renderer contents in text form --- can be useful for debugging::
ja: レンダラーの中身をテキストフォームにダンプすることできます --- デバッグ時に役に立つでしょう::

en: It might be useful to create a new renderer implementation if you would like to customize the rules how to select symbols for rendering of features. Some use cases where you would want to do it: symbol is determined from a combination of fields, size of symbols changes depending on current scale etc.
ja: もしシンボルがフィーチャのレンダリングをどう行うかをカスタマイズしたいのであれば、新しいレンダラーの実装を作ると便利かもしれません。いくつかのユースケースとしてこんなことをしたいのかもしれません: フィールドの組み合わせからシンボルを決定する、現在の縮尺に合わせてシンボルのサイズを変更するなどなど。

en: Iterating over Vector Layer
ja: ベクターレイヤの重ねあわせ

en: Like with symbol layers, it is possible to attach a GUI for configuration of the renderer. It has to be derived from :class:`QgsRendererV2Widget`. The following sample code creates a button that allows user to set symbol of the first symbol::
ja: シンボルレイヤー同様、レンダラの設定をGUIからいじることができます。これは :class:`QgsRendererV2Widget` の派生クラスとなります。次のサンプルコードではユーザが最初のシンボルのシンボルをセットするボタンを作成しています(訳注: サンプルを見ると色を変更しているので原文が間違っていると思われる)::

en: List of attributes which should be fetched. Default: empty list
ja: 呼び出される属性リスト. デフォルト: カラリスト

en: Memory Provider
ja: メモリープロバイダー

en: Memory provider is intended to be used mainly by plugin or 3rd party app developers. It does not store data on disk, allowing developers to use it as a fast backend for some temporary layers.
ja: メモリープロバイダーはプラグインやサードパーティアプリケーション開発者に主に使われるでしょう。これはディスクにデータを保存せず、開発者がテンポラリなレイヤーの高速なバックエンドとして使えるようになります。

en: Modify Features
ja: フィーチャの修正

en: Modifying Vector Layers
ja: ベクターレイヤの修正

en: Modifying Vector Layers with an Editing Buffer
ja: ベクターレイヤを編集バッファで修正する.

en: Most vector data providers support editing of layer data. Sometimes they support just a subset of possible editing actions. Use the :func:`capabilities` function to find out what set of functionality is supported::
ja: ほとんどのベクターデータのプロバイダーはレイヤの編集をサポートしています. 一部の編集のみを認めている場合もあります. どんな機能が利用できるのかは :func:`capabilities` を使って調べることができます.

en: New Symbology
ja: 新しいシンボロジ

en: Note: if you plan to support also earlier versions (i.e. QGIS < 1.4), you should first check whether the :func:`isUsingRendererV2` method exists --- if not, only old symbology is available::
ja: 注意: もし古いバージョン(例えば QGIS < 1.4)をサポートすることを計画しているのであれば、最初に :func:`isUsingRendererV2` メソッドが存在しているかをチェックします --- もし無かったら、古いシンボロジだけ存在するということです::

en: Now that we have a reference to a renderer from the previous section, let us explore it a bit::
ja: 前のセクションでレンダリングについて扱っていますね、ちょっと見てみましょう::

en: Now we are missing only the final glue: to make QGIS aware of these new classes. This is done by adding the symbol layer to registry. It is possible to use the symbol layer also without adding it to the registry, but some functionality will not work: e.g. loading of project files with the custom symbol layers or inability to edit the layer's attributes in GUI.
ja: 私達は最後につなげるところだけまだ扱っていません: QGIS にこれらの新しいクラスを知らせる方法です。これはレジストリにシンボルレイヤーを追加すれば完了です。レジストリに追加しなくてもシンボルレイヤーを使うことはできますが、いくつかの機能が動かないでしょう: 例えばカスタムシンボルレイヤーを使ってプロジェクトファイルを読み込んだり、GUIでレイヤーの属性を編集できないなど。

en: Old Symbology
ja: 古いシンボロジ

en: On every change of attributes, the widget should emit :func:`changed()` signal to let the properties dialog update the symbol preview.
ja: いかなる属性の変更時でも、プロパティダイアログにシンボルプレビューを更新させるために widget は :func:`changed()` シグナルを発生します。

en: Output::
ja: 出力::

en: Renders all features with the same symbol
ja: 全てのフィーチャを同じシンボルでレンダーします

en: Renders features using a different symbol for each category
ja: カテゴリごとに違うシンボルを使ってフィーチャをレンダーします

en: Renders features using a different symbol for each range of values
ja: それぞれの範囲の値によって違うシンボルを使ってフィーチャをレンダーします

en: SVG symbols do not support setting colors, fill and line styles.
ja: SVGシンボルは色の設定ができません.

en: Similarly as with symbol layers, abstract metadata constructor awaits renderer name, name visible for users and optionally name of renderer's icon. :func:`createRenderer` method passes :class:`QDomElement` instance that can be used to restore renderer's state from DOM tree. :func:`createRendererWidget` method creates the configuration widget. It does not have to be present or can return `None` if the renderer does not come with GUI.
ja: シンボルレイヤーと同様に、abstract metadataのコンストラクタはレンダラの名前を受け取るのを期待して、この名前はユーザに見え、レンダラのアイコンの追加の名前となります。 :func:`createRenderer` メソッドには :class:`QDomElement` のインスタンスを渡してレンダラの状態を DOM ツリーから復元するのに使います。 :func:`createRendererWidget` メソッドは設定のwidgetを作成します。これは必ず存在する必要はなく、もしレンダラがGUIからいじらないのであれば `None` を返すことができます。

en: Single Symbol Renderer
ja: 単一シンボルレンダラ

en: Size and width are in millimeters by default, angles are in degrees.
ja: サイズと幅は標準でミリメートルが使われ、角度は 度 が使われます。

en: Some examples::
ja: いくつかの例::

en: Spatial filter. If empty rect is given (:obj:`QgsRectangle()`), all features are fetched. Default: empty rect
ja: 空間フィルター. もし領域が選択されないと (:obj:`QgsRectangle()`), 全てのフィーチャが呼び出されます. デフォルト: 未選択

en: Specifies an attribute of the layer.  The attribute has a name, and optionally a type (integer, double, or string), length, and precision. There may be multiple field definitions.
ja: レイヤーの属性を指定します。属性は名前を持ち、オプションとして種類(integer, double, string)、長さと正確性を持ちます。複数のフィールドの定義を置くことになるでしょう。

en: Specifies that the provider will use a spatial index
ja: プロバイダーが空間インデックスを使うことを指定します。

en: Specifies the coordinate reference system, where definition may be any of the forms accepted by :func:`QgsCoordinateReferenceSystem.createFromString`
ja: 座標参照系を指定し、この定義は :func:`QgsCoordinateReferenceSystem.createFromString` で受け付ける事ができるどんな値でも置くことができます。

en: The :func:`beginEndCommand` will create an internal "active" command and will record subsequent changes in vector layer. With the call to :func:`endEditCommand` the command is pushed onto the undo stack and the user will be able to undo/redo it from GUI. In case something went wrong while doing the changes, the :func:`destroyEditCommand` method will remove the command and rollback all changes done while this command was active.
ja: :func:`beginEndCommand` は内部的に "アクティブな" コマンドを作成して、この後に続くベクターレイヤの変更を記録し続けます。　:func:`endEditCommand` を呼び出すことでundoスタックにコマンドがプッシュされ、ユーザがGUIからコマンドの undo/redo が可能になります。変更をしている途中でなにか問題が発生した場合は、 :func:`destroyEditCommand` メソッドでコマンドを削除してコマンドがアクティブであった時に行った全ての変更をロールバックするでしょう。

en: The :func:`layerType` method determines the name of the symbol layer, it has to be unique among all symbol layers. Properties are used for persistence of attributes. :func:`clone` method must return a copy of the symbol layer with all attributes being exactly the same. Finally there are rendering methods: :func:`startRender` is called before rendering first feature, :func:`stopRender` when rendering is done. And :func:`renderPoint` method which does the rendering. The coordinates of the point(s) are already transformed to the output coordinates.
ja: :func:`layerType` メソッドはシンボルレイヤーの名前を決定し、全てのシンボルレイヤーの中で一意になります。プロパティは属性の持続として使われます。 :func:`clone` メソッドは全ての全く同じ属性を含んだシンボルレイヤーのコピーを返さなくてはなりません。最後にレンダリングのメソッドについて: :func:`startRender` はフィーチャが最初にレンダリングされる前に呼び出され、 :func:`stopRender` はレンダリングが終わったら呼び出されます。そして :func:`renderPoint` メソッドでレンダリングを行います。ポイントの座標は出力対象の座標に常に変換されます。

en: The :func:`setNamedPointSymbol` method determines the shape of the symbol. There are two classes: hardcoded symbols (prefixed ``hard:``) and SVG symbols (prefixed ``svg:``). The following hardcoded symbols are available: ``circle``, ``rectangle``, ``diamond``, ``pentagon``, ``cross``, ``cross2``, ``triangle``, ``equilateral_triangle``, ``star``, ``regular_star``, ``arrow``.
ja: :func:`setNamedPointSymbol` メソッドはシンボルの shape を決定します。二つのクラスがあります: ハードコードされたシンボル (``hard:`` というprefixをつけています) と SVGのシンボル (``svg:`` というprefixをつけています)です。次のハードコードされたシンボルが利用できます: ``circle``, ``rectangle``, ``diamond``, ``pentagon``, ``cross``, ``cross2``, ``triangle``, ``equilateral_triangle``, ``star``, ``regular_star``, ``arrow``.

en: The constructor also takes a URI defining the geometry type of the layer, one of: ``"Point"``, ``"LineString"``, ``"Polygon"``, ``"MultiPoint"``, ``"MultiLineString"``, or ``"MultiPolygon"``.
ja: コンストラクタはレイヤーのジオメトリの種類に指定したURLを与えることができます。この種類は次のものです: ``"Point"``, ``"LineString"``, ``"Polygon"``, ``"MultiPoint"``, ``"MultiLineString"``, ``"MultiPolygon"`` .

en: The constructor of parent :class:`QgsFeatureRendererV2` class needs renderer name (has to be unique among renderers). :func:`symbolForFeature` method is the one that decides what symbol will be used for a particular feature. :func:`startRender` and :func:`stopRender` take care of initialization/finalization of symbol rendering. :func:`usedAttributes` method can return a list of field names that renderer expects to be present. Finally :func:`clone` function should return a copy of the renderer.
ja: 親クラスの :class:`QgsFeatureRendererV2` のコンストラクタはレンダラの名前(レンダラの中で一意になる必要があります)が必要です。 :func:`symbolForFeature` メソッドは個々のフィーチャでどのシンボルが使われるかを一つ決定します。 :func:`startRender` と :func:`stopRender` それぞれシンボルのレンダリングの初期化/終了を処理します。 :func:`usedAttributes` メソッドはレンダラが与えられるのを期待するフィールド名のリストを返すことができます。最後に :func:`clone` 関数はレンダラーのコピーを返すでしょう。

en: The constructor receives instances of the active layer (:class:`QgsVectorLayer`), the global style (:class:`QgsStyleV2`) and current renderer. If there is no renderer or the renderer has different type, it will be replaced with our new renderer, otherwise we will use the current renderer (which has already the type we need). The widget contents should be updated to show current state of the renderer. When the renderer dialog is accepted, widget's :func:`renderer` method is called to get the current renderer --- it will be assigned to the layer.
ja: コンストラクタはアクティブなレイヤー(:class:`QgsVectorLayer`)とグローバルなスタイル(:class:`QgsStyleV2`)と現在のレンダラのインスタンスを受け取ります。もしレンダラが無かったり、レンダラが違う種類のものだったら、コンストラクタは新しいレンダラに差し替えるか、そうでなければ現在のレンダラー(必要な種類を持つでしょう)を使います。widgetの中身はレンダラーの現在の状態を表示するよう更新されます。レンダラダイアログが受け入れられたときに、現在のレンダラを取得するために widget の :func:`renderer` メソッドが呼び出されます。

en: The following code shows a simple custom renderer that creates two marker symbols and chooses randomly one of them for every feature::
ja: 次のコードは二つのマーカーシンボルを作成して全てのフィーチャからランダムに一つ選ぶ簡単なカスタムレンダラです::

en: The following example code illustrates creating and populating a memory provider::
ja: 次のサンプルコードはメモリープロバイダーを作成してデータ投入をしている様子です::

en: The following example of a URI incorporates all these options::
ja: 次のサンプルは全てのこれらのオプションを含んだURLです::

en: The icon can be associated also at any later time using :func:`setIcon` method of the metadata class. The icon can be loaded from a file (as shown above) or can be loaded from a `Qt resource <http://qt.nokia.com/doc/4.5/resources.html>`_ (PyQt4 includes .qrc compiler for Python).
ja: アイコンはあとからメタデータクラスの :func:`setIcon` を使って関連付けることもできます。アイコンはファイルから読み込むこと(上記を参考)も `Qt のリソース <http://qt.nokia.com/doc/4.5/resources.html>`_ から読み込むこともできます(PyQt4 はパイソン向けの .qrc コンパイラを含んでいます)。

en: The last missing bit is the renderer metadata and registration in registry, otherwise loading of layers with the renderer will not work and user will not be able to select it from the list of renderers. Let us finish our RandomRenderer example::
ja: 最後のちょっとした作業はレンダラのメタデータとレジストリへの登録で、これらをしないとレンダラのレイヤーの読み込みは動かなく、ユーザはレンダラのリストから選択することができないでしょう。では、私達の RandomRenderer の例を終わらせましょう::

en: The last step is to add this symbol layer to the registry --- and we are done.
ja: 最後にこのシンボルレイヤーをレジストリに追加します --- これで完了です。

en: The memory provider also supports spatial indexing, which is enabled by calling the provider's :func:`createSpatialIndex` function. Once the spatial index is created you will be able to iterate over features within smaller regions faster (since it's not necessary to traverse all the features, only those in specified rectangle).
ja: メモリープロバイダーは空間インデックスもサポートしていて、プロバイダーの :func:`createSpatialIndex` を呼ぶことで有効になります。一度空間インデックスを作成したら小さい領域内でフィーチャのiterateが高速にできるようになります(これ以降は全てのフィーチャを順にたどる必要がなくなり、指定した短形内で収まります)。

en: The provider supports string, int and double fields.
ja: プロバイダは文字列と int と double をサポートします。

en: The renderer usually stores also original symbol and color ramp which were used for the classification: :func:`sourceColorRamp` and :func:`sourceSymbol` methods.
ja: レンダラはたいていオリジナルのシンボルと識別をするためにカラーランプを保持しています: :func:`sourceColorRamp` メソッドと :func:`sourceSymbol` メソッドから呼び出せます。

en: There are several known renderer types available in QGIS core library:
ja: 次の表は QGIS コアライブラリに存在するいくつかのよく知られたレンダラーです:

en: There are two possibilities how to export a vector layer:
ja: ベクターレイヤをエクスポートする方法は二つあります:

en: There might be also some custom renderer types, so never make an assumption there are just these types. You can query :class:`QgsRendererV2Registry` singleton to find out currently available renderers.
ja: カスタムレンダラーのタイプになることもあるので、上記のタイプになるとは思い込まないでください。 :class:`QgsRendererV2Registry` シングルトンを検索して現在利用可能なレンダラーを見つけることもできます。

en: Third parameter specifies output text encoding. Only some drivers need this for correct operation - shapefiles are one of those --- however in case you are not using international characters you do not have to care much about the encoding. The fourth parameter that we left as None may specify destination CRS --- if a valid instance of :class:`QgsCoordinateReferenceSystem` is passed, the layer is transformed to that CRS.
ja: 3番目のパラメータはテキストの文字コードを指定します。いくつかのドライバは正確に処理するためにこれが必要です - shapefilesもそうです --- しかしながら国際化された文字を使わなければ文字コードについてはあまり気にする必要はないでしょう。今回 None を置いている4番目のパラメータは出力する CRS が指定できます -- もし :class:`QgsCoordinateReferenceSystem` の正しいインスタンスが渡されれば、レイヤはその CRS に変換します。

en: This renderer is very similar to the categorized symbol renderer described above, but instead of one attribute value per class it works with ranges of values and thus can be used only with numerical attributes.
ja: このレンダラは先ほど暑かったカテゴリ分けシンボルのレンダラととても似ていますが、クラスごとの一つの属性値の代わりに領域の値として動作し、そのため数字の属性のみ使うことができます。

en: This section summarizes various actions that can be done with vector layers.
ja: このセクションではベクタレイヤに対して行える様々な操作について紹介していきます.

en: This widget can be embedded into the symbol properties dialog. When the symbol layer type is selected in symbol properties dialog, it creates an instance of the symbol layer and an instance of the symbol layer widget. Then it calls :func:`setSymbolLayer` method to assign the symbol layer to the widget. In that method the widget should update the UI to reflect the attributes of the symbol layer. :func:`symbolLayer` function is used to retrieve the symbol layer again by the properties dialog to use it for the symbol.
ja: このwidgetはシンボルプロパティのダイアログに組み込むことができます。シンボルプロパティのダイアログでシンボルレイヤータイプを選択したときにこれはシンボルレイヤーのインスタンスとシンボルレイヤー widget のインスタンスを作成します。そしてwidgetをシンボルレイヤーを割り当てるために :func:`setSymbolLayer` メソッドを呼び出します。このメソッドでwidgetがシンボルレイヤーの属性を反映するようUIを更新します。 :func:`symbolLayer` 関数はシンボルが使ってるプロパティダイアログがシンボルレイヤーを再度探すのに使われます。

en: To access symbol layer data, use its :func:`properties` method that returns a key-value dictionary of properties which determine the appearance. Each symbol layer type has a specific set of properties that it uses. Additionally, there are generic methods :func:`color`, :func:`size`, :func:`angle`, :func:`width` with their setter counterparts. Of course size and angle is available only for marker symbol layers and width for line symbol layers.
ja: シンボルレイヤのデータにアクセスするには、 :func:`properties` メソッドを使い、これは表現方法を決定しているプロパティの辞書のキー値を返します。それぞれのシンボルレイヤタイプはそれが使っている特定のプロパティの集合を持っています。さらに、共通して使えるメソッドとして :func:`color`, :func:`size`, :func:`angle`, :func:`width` がそれぞれセッターと対応して存在します。もちろん size と angle はマーカーシンボルレイヤだけで利用可能で、 width はラインシンボルレイヤだけで利用可能です。

en: To add fields (attributes), you need to specify a list of field defnitions. For deletion of fields just provide a list of field indexes. ::
ja: フィールド(属性)を追加するには、フィールドの定義の配列を指定する必要があります。フィールドを削除するにはフィールドのインデックスの配列を渡すだけです ::

en: To associate an icon with the renderer you can assign it in :class:`QgsRendererV2AbstractMetadata` constructor as a third (optional) argument --- the base class constructor in the RandomRendererMetadata :func:`__init__` function becomes::
ja: レンダラにアイコンを関連付けるには :class:`QgsRendererV2AbstractMetadata` のコンストラクタの三番目の引数(オプション)に指定することができます --- RandomRendererMetadata の :func:`__init__` 関数の中の基本クラスのコンストラクタはこうなります::

en: To delete some features, just provide a list of their feature IDs::
ja: フィーチャを削除するには、フィーチャのIDの配列を渡すだけです::

en: To find out more about ranges used in the renderer::
ja: レンダラで使われている領域の多くの情報を見つけるには::

en: To find out symbol's color use :func:`color` method and :func:`setColor` to change its color. With marker symbols additionally you can query for the symbol size and rotation with :func:`size` and :func:`angle` methods, for line symbols there is :func:`width` method returning line width.
ja: シンボルが使っている色を得るには :func:`color` メソッドを使い、 :func:`setColor` でシンボルの色を変えます。マーカーシンボルは他にもシンボルのサイズと回転角をそれぞれ :func:`size` メソッドと :func:`angle` メソッドで取得することができ、ラインシンボルは :func:`width` メソッドでラインの幅を返します。

en: To find out whether a layer is in editing mode, use :func:`isEditing` --- the editing functions work only when the editing mode is turned on. Usage of editing functions::
ja: レイヤーが編集モードかどうかを知るには :func:`isEditing` を使います --- 編集機能は編集モードが有効になっているときだけ動きます。編集機能はこのように使います::

en: To get a list of categories::
ja: カテゴリの配列を取得するには::

en: To obtain field index from its name, use provider's :func:`fieldNameIndex` function::
ja: フィールドインデックスを名前から作成するにはプロバイダーの :func:`fieldNameIndex` 関数を使用して下さい::

en: To start editing mode, there is :func:`startEditing` method, to stop editing there are :func:`commitChanges` and :func:`rollback()` --- however normally you should not need these methods and leave this functionality to be triggered by the user.
ja: 編集モードを始めるには :func:`startEditing` メソッドを使い、編集を止めるには :func:`commitChanges` か :func:`rollback()` を使います --- しかしながら通常はこれらのメソッドは使う必要がなく、この機能はユーザによって始められるでしょう。

en: Type
ja: タイプ

en: Using Spatial Index
ja: 空間インデックスを使う

en: Using Vector Layers
ja: ベクターレイヤを使う

en: Usually it is convenient to add a GUI for setting attributes of the symbol layer type to allow users to customize the appearance: in case of our example above we can let user set circle radius. The following code implements such widget::
ja: 普通はユーザに外観をカスタマイズさせるためにシンボルレイヤータイプの属性を設定するGUIを追加すると使いやすくなります: 上記の例であればユーザは円の半径をセットできます。次のコードはwidgetの実装となります::

en: We are going to focus primarily on new symbology because it has better capabilities are more options for customization.
ja: 新しいシンボロジはカスタマイズの将来性が高いため、ここからはこれを主に扱っていきます。

en: We will have to create metadata for the symbol layer::
ja: 私達はシンボルレイヤーのメタデータを作る必要があります::

en: When a vector layer is being rendered, the appearance of the data is given by **renderer** and **symbols** associated with the layer.  Symbols are classes which take care of drawing of visual representation of features, while renderers determine what symbol will be used for a particular feature.
ja: ベクタレイヤーがレンダリングされるとき、データの外観はレイヤーによって関連付けられた **レンダラー** と **シンボル** によって決定されます。シンボルはフィーチャの仮想的な表現を描画するクラスで、レンダラーはシンボルが個々のフィーチャで使われるかを決定します。

en: When editing vectors within QGIS application, you have to first start editing mode for a particular layer, then do some modifications and finally commit (or rollback) the changes. All the changes you do are not written until you commit them --- they stay in layer's in-memory editing buffer. It is possible to use this functionality also programmatically --- it is just another method for vector layer editing that complements the direct usage of data providers. Use this option when providing some GUI tools for vector layer editing, since this will allow user to decide whether to commit/rollback and allows the usage of undo/redo. When committing changes, all changes from the editing buffer are saved to data provider.
ja: QGISアプリケーションでベクターを編集するには、個々のレイヤを編集モードにしてから編集を行って最後に変更をコミット(もしくはロールバック)します。全ての変更はそれらをコミットするまでは書き込まれません --- これらはメモリ上の編集バッファに居続けます。これらの機能はプログラムで扱うことができます　--- これはデータプロバイダを直接使う方法を補完するベクターレイヤを編集する別の方法です。ベクターレイヤの編集機能をもったGUIツールを提供する際にこのオプションを使えば、ユーザにコミット/ロールバックをするのを決めさせられ、またundo/redoのような使い方をさせることができます。変更をコミットする時に、編集バッファの全ての変更はデータプロバイダに保存されます。

en: When using spatial filter, this argument says whether accurate test for intersection should be done or whether test on bounding box suffices. This is needed e.g. for feature identification or selection. Default: :const:`False`
ja: 空間フィルターを使う際, 正しくインターセクションされているかどうか, 境界条件が適切か確認されます. これは正しくフィーチャが特定または選択されているかを確認するために必要です. デフォルト: :const:`False`

en: Where :func:`value` is the value used for discrimination between categories, :func:`label` is a text used for category description and :func:`symbol` method returns assigned symbol.
ja: :func:`value` はカテゴリを区別にするのに使う値で、 :func:`label` はカテゴリの詳細に使われるテキストで、 :func:`symbol` メソッドは割り当てられているシンボルを返します。

en: Whether geometry of the feature should be fetched. Default: :const:`True`
ja: ジオメトリのフィーチャが呼び出されるかどうか. デフォルト: :const:`True`

en: Working with Symbol Layers
ja: シンボルレイヤを使ってみましょう

en: Working with Symbols
ja: シンボルを扱ってみましょう

en: Writing Vector Layers
ja: ベクターレイヤの作成

en: You can get a complete list of the types of symbol layers you can create for a given symbol layer class like this::
ja: 次のようにシンボルレイヤクラスを与えてシンプルレイヤを作成して、シンボルレイヤのタイプの完全なリストを取得することができます。

en: You can get the symbol used for rendering by calling :func:`symbol` method and change it with :func:`setSymbol` method (note for C++ devs: the renderer takes ownership of the symbol.)
ja: レンダリングが使っているシンボルは :func:`symbol` メソッドで取得することができ、 :func:`setSymbol` メソッドで変更することができます(C++開発者へメモ: レンダラーはシンボルのオーナーシップをとります)。

en: You can query and set attribute name which is used for classification: use :func:`classAttribute` and :func:`setClassAttribute` methods.
ja: 分類するのに使われる属性名を検索したりセットしたりすることができます: :func:`classAttribute` メソッドと:func:`setClassAttribute` メソッドを使います。

en: You can write vector layer files using :class:`QgsVectorFileWriter` class. It supports any other kind of vector file that OGR supports (shapefiles, GeoJSON, KML and others).
ja: :class:`QgsVectorFileWriter` クラスを使ってベクターレイヤファイルを書き出す事ができます。これはOGRがサポートするいかなるベクターファイル(shapefiles, GeoJSON, KML そしてその他)をサポートしています。

en: You should pass layer type (the same as returned by the layer) and symbol type (marker/line/fill) to the constructor of parent class. :func:`createSymbolLayer` takes care of creating an instance of symbol layer with attributes specified in the `props` dictionary. (Beware, the keys are QString instances, not "str" objects). And there is :func:`createSymbolLayerWidget` method which returns settings widget for this symbol layer type.
ja: レイヤータイプ(レイヤーが返すのと同じもの)とシンボルタイプ(marker/line/fill)を親クラスのコンストラクタに渡します。 :func:`createSymbolLayer` は辞書の引数の `props` で指定した属性をもつシンボルレイヤーのインスタンスを作成をしてくれます。 (キー値は QString のインスタンスで、決して "str" のオブジェクトではないのに気をつけましょう) そして :func:`createSymbolLayerWidget` メソッドはこのシンボルレイヤータイプの設定 widget を返します。

en: add features to index --- index takes :class:`QgsFeature` object and adds it to the internal data structure. You can create the object manually or use one from previous call to provider's :func:`nextFeature()` ::
ja: フィーチャにインデックスを追加する --- インデックスは :class:`QgsFeature` のオブジェクトを受け取り、これらをデータの内部構造に追加します。このオブジェクトは手動で作ることもできますし、プロバイダの :func:`nextFeature()` を事前に呼んで取り出したものを使うこともできます::

en: continuous color renderer (:class:`QgsContinuousSymbolRenderer`)
ja: 連続した色のレンダラ (:class:`QgsContinuousSymbolRenderer`)

en: create spatial index --- the following code creates an empty index::
ja: 空間インデックスを作成する --- 以下のコードは空のインデックスを作成する::

en: creating/modifying symbols
ja: シンボルの作成や修正

en: directly from features::
ja: フィーチャをディレクトリで選択::

en: exploring symbol layer and renderer registries
ja: シンボルレイヤーとレンダラのレジストリを調べる方法

en: from an instance of :class:`QgsVectorLayer`::
ja: :class:`QgsVectorLayer` インスタンスから::

en: graduated symbol renderer (:class:`QgsGraduatedSymbolRenderer`) --- a symbol is applied to a subgroup (class) of features, which is calculated on a numeric field
ja: 連続値シンボルレンダラ (:class:`QgsGraduatedSymbolRenderer`) --- シンボルがフィーチャのサブグループ (クラス) に適応されていて、数値のフィールドで計算されます。

en: once spatial index is filled with some values, you can do some queries::
ja: 空間インデックスに何かしらの値が入れられると検索ができるようになります::

en: rule-based renderer
ja: ルールベースのレンダラ

en: single symbol renderer (:class:`QgsSingleSymbolRenderer`) --- all features are rendererd with the same symbol.
ja: 単一シンボルレンダラ (:class:`QgsSingleSymbolRenderer`) --- 全てのフィーチャは同じシンボルでレンダーされます。

en: unique value renderer (:class:`QgsUniqueValueRenderer`) --- symbol for each feature is choosen from attribute value.
ja: 単一の値のレンダラ (:class:`QgsUniqueValueRenderer`) --- 属性の値からそれぞれのフィーチャのシンボルが選ばれます

en: working with color ramps (:class:`QgsVectorColorRampV2`)
ja: カラーランプの使い方 (:class:`QgsVectorColorRampV2`)

en: working with style (:class:`QgsStyleV2`)
ja: スタイルの使い方(:class:`QgsStyleV2`)

en: you can again use :func:`classAttribute` to find out classification attribute name, :func:`sourceSymbol` and :func:`sourceColorRamp` methods.  Additionally there is :func:`mode` method which determines how the ranges were created: using equal intervals, quantiles or some other method.
ja: 属性名の分類を調べるために :func:`classAttribute` をまた使うことができ、 :func:`sourceSymbol` メソッドと :func:`sourceColorRamp` メソッドも使うことができます。さらに作成された領域の測定する :func:`mode` メソッドもあります: 等間隔や変位値、その他のメソッドと一緒に使います。
