Outdated version of the documentation. Find the latest one here.

21. 回答シート

21.1. Results For 最初のレイヤを追加

21.1.1. basic 準備

道路をシンボル化した多数のラインが見えます。このラインは基本地図を作るのにちょうど今ロードしたベクターレイヤ内にあります。

テキストに戻る

21.2. Results For インタフェースのあらまし

21.2.1. basic あらまし (パート 1)

バックインタフェースのレイアウトを示す画像を参照し、画面要素の名称と機能を覚えていることを確認してください。

テキストに戻る

21.2.2. basic あらまし (パート 2)

  1. 名前を付けて保存

  2. レイヤにズーム

  3. ヘルプ

  4. 描画 オン/オフ

  5. ラインを計測

テキストに戻る

21.3. Results For ベクターデータで作業

21.3.1. basic Shapefiles

あなたのマップには5つのレイヤができます:

  • 場所

  • 水系

  • 建物

  • 河川 および

  • 道路.

テキストに戻る

21.3.2. basic データベース

すべてのベクターレイヤはマップにロードしておく必要があります。まだ見た目は素敵ではないかもしれませんが(配色は後ほど見直します)。

テキストに戻る

21.4. Results For シンボル

21.4.1. basic

  • 色が期待通りに変わっているか確認してください。

  • 現時点では 水系 レイヤを変えるだけで十分です。下記はその例ですが、選んだ色によっては違って見えるかもしれません。

../../../_images/answer_water_blue.png

ノート

他のレイヤに煩わされずに一度にひとつのレイヤだけで作業したい場合、レイヤ一覧内のその名前の隣にあるチェックボックス内をクリックしてレイヤを非表示にできます。ボックスが空の場合にレイヤは非表示です。

テキストに戻る

21.4.2. basic シンボルの構造

これであなたのマップはこのように見えていると思います:

../../../_images/answer_symbology1.png

あなたが初心者レベルのユーザであれば、ここで止めた方が良いかもしれません。

  • 上のメソッドを使って残りのレイヤすべての色とスタイルを変更します。

  • オブジェクトにはできるだけ本来の色を使うようにしてください。たとえば、道路は赤や青ではなく、グレイまたは黒であるべきです。

  • 別のポリゴンの 塗りつぶしスタイル ボーダーStyle 設定も遠慮なく試してください。

テキストに戻る

21.4.3. moderate シンボルレイヤ

  • 建物 レイヤは好きなようにカスタマイズできますが、マップ上で離れている異なるレイヤに容易に伝えられるものでなければなりません。

こちらがサンプルです:

../../../_images/answer_buildings_symbology.png

テキストに戻る

21.4.4. moderate シンボルのレベル

必要なシンボルを作るには2つのシンボルレイヤが必要です:

../../../_images/answer_road_symbology.png

いちばん下のシンボルレイヤは幅広の黄色の実線です。その先頭にはやや狭いグレーの実線があります。

  • もしあなたのシンボルレイヤが上記に似てはいるが欲しい結果が得られていない場合は、あなたのシンボルレベルが次のように見えるかどうかチェックしてください:

    ../../../_images/answer_road_symbol_levels.png
  • これであなたのマップは次のように見えるようになったはずです:

    ../../../_images/target_road_symbology.png

テキストに戻る

21.4.5. hard シンボルレベル

  • あなたのシンボルレベルをこれらの値に合わせてください:

../../../_images/answer_road_symbol_layers.png
  • 値をいろいろ試して様々な結果を取得してみてください。

  • 次の演習を続ける前にオリジナルのマップを再度オープンしてください。

テキストに戻る

21.5. Results For 属性データ

21.5.1. basic 属性データ

NAME フィールドはラベルとして表示するのに最も便利です。そのすべての値は各オブジェクトについて一意であり、 NULL 値が含まれている可能性が非常に低いためです。データにいくつかの NULL の値が含まれている場合、場所のほとんどが名前を持っている限り心配いりません。

テキストに戻る

21.6. Results For ラベルツール

21.6.1. moderate ラベルのカスタマイズ (パート 1)

今、地図はマーカ・ポイントを示さなければならず、ラベルは 2.0 mm だけオフセットされなければなりません:マーカーとラベルのスタイルは、両方が地図上ではっきりと見えることを可能にする必要があります。

../../../_images/customised_labels_one.png

テキストに戻る

21.6.2. moderate ラベルのカスタマイズ (パート 2)

一つの可能​​な解決策は、この最終製品があります。

../../../_images/possible_outcome_map.png

この結果に到着するには:

  • フォントサイズ 10ラベル距離 1.5 mmシンボル幅シンボルサイズ 3.0 mm を使用します。

  • さらに、この例では characterラベルをラップ オプションを使用します。

    ../../../_images/wrap_character_settings.png
  • このフィールドに space と入力し Apply をクリックして、同じ効果を達成します。この場合には、地名の一部は非常に長く、その結果複数の行を持つ名前で、非常にユーザーフレンドリーではありません。この設定が自分の地図にとってより適切と見つけるかもしれません。

テキストに戻る

21.6.3. hard データ定義された設定を使用して

  • まだ編集モードで、 FONT_SIZE 値をお好きなように設定してください。例では、町に 16 、郊外に 14 、地域に 12 、集落に 10 を使用しています。

  • 編集モードを抜ける前に忘れずに変更を保存してください。

  • places レイヤーに対する Text 書式設定オプションに戻り、フォントサイズのデータ​​の上書きドロップダウンの 属性フィールド 中で FONT_SIZE を選択:

    ../../../_images/font_size_override.png

    結果は、上記の値を使用している場合、このようになります。

    ../../../_images/font_override_results.png

テキストに戻る

21.7. Results For 分類

21.7.1. moderate 分類を改善

  • 国境を取り除くために、レッスンの最初の練習と同様の方法を使用します。

    ../../../_images/gradient_map_no_pen.png

使用した設定は同じでなくてよいですが、値は Classes = 6モード = 自然なブレーク(ジェンクス) で(そしてもちろん同じ色を使用して)、地図は次のようになります。

../../../_images/gradient_map_new_mode.png

テキストに戻る

21.8. Results For 新しいベクターデータセットの作成

21.8.1. basic デジタイジング

記号は重要ではありませんが、結果はこのような多かれ少なかれなります。

../../../_images/routes_layer_result.png

テキストに戻る

21.8.2. moderate トポロジー: リングツールを追加

正確な形状は重要ではありませんが、あなたの地物の中央には穴が空くことになります。こちらのように。

../../../_images/ring_tool_result.png
  • 次のツールのための演習を続行する前に編集を取り消します。

テキストに戻る

21.8.3. moderate Topology: パートツールを追加

  • 最初に Bontebok National Park を選択します:

../../../_images/park_selected.png
  • 新しいパートを追加:

../../../_images/new_park_area.png
  • 次のツールのための演習を続行する前に編集を取り消します。

テキストに戻る

21.8.4. hard 地物をマージ

  • 選択した地物のマージ ツールを使う際には、最初にマージしたいポリゴンを両方選んでください。

  • 1 の属性の OGC_FID を持つ地物をソースとして使用します(ダイアログでそのエントリをクリックし、それから 選択地物から属性を取る ボタンをクリックしてください):

ノート

別のデータセットを使用している場合、それはあなたの可能性が高いです

元々のポリゴンの OGC_FID1 にはならないでしょう。 OGC_FID を持っている地物だけを選択してください。

../../../_images/merge_feature_dialog.png

ノート

選択地物の属性をマージ ツールを使用すると、ジオメトリは別々のまま、それらに同じ属性を与えます。

テキストに戻る

21.8.5. moderate フォーム

type について、道路がなりうるタイプの量は明らかに限られており、そしてこのレイヤーのための属性テーブルをチェックすると、それらが事前定義されていることがわかります。

  • ウィジェットを バリューマップ にセットして レイヤからデータをロード をクリックしてください。

  • Label`ドロップダウンで :guilabel:`roads を、 Description オプション両方のために highway を選択します:

    ../../../_images/value_map_settings.png
  • Ok を3回クリックしてください。

  • 今路上で :guilabel:`Identify`ツールを使用している場合は、編集モードがアクティブな間、出てくるダイアログは次のようになります。

    ../../../_images/highway_as_value_map.png

テキストに戻る

21.9. Results For ベクター分析

21.9.1. moderate OSM データから自分用のレイヤを抽出

この演習の目的のために、私たちが興味を持っているOSMレイヤーは multipolygons と :kbd:` lines`です。 multipolygons レイヤーには、 housesschoolsrestaurants レイヤーを生産するために必要なデータが含まれています。 lines レイヤーには道路データセットが含まれています。

クエリビルダー はレイヤプロパティにあります:

../../../_images/query_builder.png

multipolygons レイヤーに対して クエリBuilder を使用し 、 housesschoolsrestaurantsresidential レイヤーのために以下のクエリを作成します:

../../../_images/houses_query.png ../../../_images/schools_query.png ../../../_images/restaurants_query.png

各クエリを入力したら、OK をクリックしてください。地図が更新されて選択したデータのみが表示されることがわかります。OSMのデータセットから再び multipolygons データを使用する必要があるので、この時点では、 次のいずれかの方法を使用できます。

  • フィルタされたOSMレイヤーの名前を変更し、 osm_data.osm からレイヤーを再インポートします 、または

  • フィルタレイヤーを複製し、コピーの名前を変更し、クエリをクリアし、クエリBuilder 中で新しいクエリを作成します。

ノート

OSMの building フィールドの値は house 値ではありますが、お住まいの地域のカバレッジは - 私たちのように - 完全ではないかもしれません。テスト領域ではそれゆえ、 house 以外と定義されているすべての建物を*除外* することがより正確です。 house など明確な意味を持っていない他のすべての値 yes を単にとして定義されている建物を含めることを決定できます。

OSMの lines レイヤーに対して、このクエリを構築し、roads レイヤーを作成します:

../../../_images/roads_query.png

次のようになりマップで終わる必要があります。

../../../_images/osm_queries_result.png

テキストに戻る

21.9.2. basic 高校からの距離

  • あなたのバッファダイアログはこのように見えるはずです:

    ../../../_images/schools_buffer_setup.png

    バッファ距離1000 メーターです (すなわち 1 キロメーター)。

  • セグメントをapproximate 値は 20 に設定されます。これはオプションですが、出力バッファがよりスムーズに見えるのでお勧めです。これと比較してみてください:

    ../../../_images/schools_buffer_5.png

    これに:

    ../../../_images/schools_buffer_20.png

第1の画像は、 セグメントapproximate 値が :kbd:` 5` に設定されたバッファを、第2の画像は値が 20 に設定されたバッファを示しています。この例では違いは微妙ですが、より高い値を持つほどバッファのエッジがより滑らかであることがわかります。

テキストへ 戻る

21.9.3. basic レストランからの距離

新しい houses_restaurants_500m レイヤを作成するために、2ステップの手順を実施します:

  • 最初に、レストランの周囲に500m のバッファを作成し、マップにレイヤを追加します:

    ../../../_images/restaurants_buffer.png ../../../_images/restaurants_buffer_result.png
  • 次に、そのバッファ領域内の建物を選択します:

    ../../../_images/select_within_restaurants.png
  • そして選んだものを新しい houses_restaurants_500m レイヤに保存します:

    ../../../_images/save_selection_restaurants.png

これであなたのマップには道路から50m 以内、学校から1km 以内、そしてレストランから500m 以内の建物だけが表示されます:

../../../_images/restaurant_buffer_result.png

テキストに戻る

21.10. Results For ラスタ分析

21.10.1. basic 角度を計算

  • このように :guilabel:`DEM(地形解析)`ダイアログアップを設定します

    ../../../_images/answer_dem_aspect.png

結果:

../../../_images/answer_aspect_result.png

テキストに戻る

21.10.2. moderate 傾斜を計算 (2度と5度未満)

  • ラスター計算機 ダイアログをこのように設定します。

    ../../../_images/answer_raster_calculator_slope.png
  • 5度のバージョンの場合は、式とファイル名の中の 25 で置き換えてください。

結果:

  • 2 度:

    ../../../_images/answer_2degree_result.png
  • 5 度:

    ../../../_images/answer_5degree_result.png

テキストに戻る

21.11. Results For 分析を完了させる

21.11.1. moderate ラスタからベクタ

  • レイヤーリスト 中の all_terrain`レイヤー上で右クリックすることで :guilabel:`クエリBuilder を開き、 一般 タブを選択します。

  • 次に、「適切な」= 1 クエリを構築します。

  • OK をクリックしてこの条件が満たされていないすべてのポリゴンをフィルタリングします。

オリジナルのラスタ上で閲覧するとその領域は完全にオーバーラップされるはずです:

../../../_images/polygonize_raster.png
  • レイヤーリスト 中の all_terrain レイヤー上で右クリックし 名前を付けて保存... を選択することでこのレイヤーを保存できます。その後は指示に従って続けます。

テキストに戻る

21.11.2. moderate 結果を精査

Intersect ツールによって :kbd:` new_solution` レイヤー中の建物の一部が「スライス」されることがあることに気づくことがあります。これは、建物の一部のみ - それゆえ資産の一部のみ -が適した地形の上にあることを示しています。したがって、賢明にデータセットから、これらの建物を排除できます

テキストに戻る

21.11.3. moderate 分析を改善する

現時点ではあなたの分析は次のように見えるはずです:

../../../_images/new_solution_example.png

全ての方向に100メートルのための連続円形領域を考えます。

../../../_images/circle_100.png

それは半径100メートルより大きい場合、(すべての方向から)、その大きさから100m減算して、それが途中で放置された部分になります。

../../../_images/circle_with_remainder.png

そのため、既存の suitable_terrain ベクトルレイヤー上で100メートルの*内部バッファ*を実行できます。バッファ機能の出力においては、元のレイヤーのどんな残りも、100メートルを超えて適した地形がある領域を表すことになります。

証明するために:

  • ベクトル - >ジオプロセシングツール - >バッファ に行き、バッファダイアログを開きます。

  • このようにセットアップします:

    ../../../_images/suitable_terrain_buffer.png
  • 10 のセグメントで -100 のバッファ距離で suitable_terrain レイヤーを使用します。(地図が投影CRSを使用しているため、距離は自動的にメートル単位です。)

  • exercise_data / residential_development /suitable_terrain_continuous100m.shp で出力を保存。

  • 必要に応じて、あなたのオリジナルの suitable_terrain レイヤの上に新しいレイヤを移動してください。

作業結果は次のように見えるはずです:

../../../_images/suitable_buffer_results.png
  • Locationで選択 ツール( ベクトル - >研究のツール - > locationにより選択 )を使用します。

  • このようにセットアップします:

    ../../../_images/select_by_location.png
  • :guilabel:` suitable_terrain_continuous100m.shp` の中の地物に交差する new_solution 中の地物を選択します。

結果はこちらです:

../../../_images/buffer_select_result.png

黄色の建物が選択されています。建物の一部は、新しい suitable_terrain_continuous100m レイヤー外に一部が落ちるものの、それらは元の suitable_terrain レイヤー範囲内に十分にあり、したがって私たちの要件のすべてを満たしています。

  • 選択を exercise_data/residential_development/ 下に final_answer.shp として保存してください。

テキストに戻る

21.12. Results For WMS

21.12.1. basic 別のWMSレイヤを追加します

地図は次のようになります(レイヤーを整列し直す必要があるかもしれません):

../../../_images/geology_layer_result.png

テキストに戻る

21.12.2. moderate 新しいWMSサーバの追加

  • 新しいサーバーとそのサーバー上でホストされているように、適切なレイヤーを追加する前と同じアプローチを使用します。

    ../../../_images/add_ogc_server.png ../../../_images/add_bluemarble_layer.png
  • Swellendam 領域にズームインした場合、このデータセットは低解像度を持っていることに気づくでしょう:

../../../_images/low_resolution_dataset.png

したがって、現在の地図にこのデータを使用しない方が良いです。ブルーマーブルデータは、グローバルまたは全国規模での方が適しています。

テキストに戻る

21.12.3. moderate WMSサーバの検索

多くのWMSサーバが常に利用可能ではないことに気づくことがあります。これは、時には、時にはそれが永続的で、一時的なものです。執筆の時点で稼働していたWMSサーバの例は http://apps1.gdr.nrcan.gc.ca/cgi-bin/worldmin_en-ca_ows世界鉱物鉱床 WMS です。これは、手数料を必要とせず、アクセス制限もなく、全世界的です。したがって、まさに要件を満たしています。これは単なる例であること、しかし、覚えておいてください。から選択する多くの他のWMSサーバがあります。

テキストに戻る

21.13. Results For データベースの概念

21.13.1. basic アドレステーブルのプロパティ

私たちの理論上のアドレステーブルのために、私たちは、次のプロパティを保存したい場合があります:

House Number
Street Name
Suburb Name
City Name
Postcode
Country

アドレスオブジェクトを表すために、テーブルを作成するとき、これらのプロパティのそれぞれを表現するために列を作成し、SQL準拠し、おそらく短縮名とそれらに名前を付けるでしょう:

house_number
street_name
suburb
city
postcode
country

テキストに戻る

21.13.2. basic 人々表を正規化します

people テーブルの主要な問題は、人の住所全体を含む単一の住所フィールドが存在することです。以前このレッスンでは、私たちの理論 address テーブルを考える、私たちは住所が多くの異なる特性で構成されていることを知っています。すべてのこれらのプロパティを1つのフィールド内に格納することにより、データを更新して照会することがはるかに困難にします。そこで、様々なプロパティに住所フィールドを分割する必要があります。これは、次のような構造を持つテーブルを与えるだろう:

id |     name      | house_no |  street_name   |    city    |   phone_no
 --+---------------+----------+----------------+------------+-----------------
 1 | Tim Sutton    |     3    | Buirski Plein  | Swellendam | 071 123 123
 2 | Horst Duester |     4    | Avenue du Roix | Geneva     | 072 121 122

ノート

次のセクションでは、さらに当社のデータベースの構造を改善するために、この例で使用することができ、外部キーの関係について学びます。

テキストに戻る

21.13.3. moderate 人々表のさらなる正規化

当社 `people`テーブルには、現在このようになります:

id |     name     | house_no | street_id |  phone_no
---+--------------+----------+-----------+-------------
 1 | Horst Duster |        4 |         1 | 072 121 122

street_id 列は`people`オブジェクトと関連` street`オブジェクト、 `streets`テーブルにある、の間の「1対多」関係を表します。

テーブルをさらに正規化する一つの方法は、名前のフィールドを に分割することです:

id | first_name | last_name  | house_no | street_id |  phone_no
---+------------+------------+----------+-----------+------------
 1 |    Horst   |   Duster   |     4    |     1     | 072 121 122

また、町名や都市名と国に対して別々のテーブルを作成し、「1対多」関係を介して私たちの people テーブルにそれらをリンクできます:

id | first_name | last_name | house_no | street_id | town_id | country_id
---+------------+-----------+----------+-----------+---------+------------
 1 |    Horst   |   Duster  |     4    |     1     |    2    |     1

ERダイアグラムは次のようになり、これを表現します:

../../../_images/er-people-normalised-example.png

テキストに戻る

21.13.4. moderate 人々表を作成します

正しい人のテーブルを作成するために必要なSQLです:

create table people (id serial not null primary key,
                     name varchar(50),
                     house_no int not null,
                     street_id int not null,
                     phone_no varchar null );

テーブルのスキーマは(\d people と入力します)このようになります:

Table "public.people"

Column     |         Type          |                      Modifiers
-----------+-----------------------+-------------------------------------
id         | integer               | not null default
           |                       | nextval('people_id_seq'::regclass)
name       | character varying(50) |
house_no   | integer               | not null
street_id  | integer               | not null
phone_no   | character varying     |
Indexes:
  "people_pkey" PRIMARY KEY, btree (id)

ノート

説明のために、FKEY制約は意図的に省略しています。

テキストへ戻る

21.13.5. basic DROPコマンド

people テーブルは streets テーブルへの外部キー制約があるため、DROPコマンドは、このケースでは動作しない理由があります。これは、 streets テーブルをドロップする(または削除する)、存在しない streets データを参照して people テーブルを離れることを意味します。

ノート

それは力 ‘ CASCADE`コマンドを使用して削除する streets`テーブルに可能であるが、これはまた people`と streets`テーブルへの関係を持っていた他のテーブルを削除します。注意して使用してください!

テキストへ戻る

21.13.6. basic 新しい街路を挿入します

使用する必要があるSQLコマンドは、(選択した名前を持つ通りの名前を置き換えできます)、このようになります:

insert into streets (name) values ('Low Road');

テキストへ戻る

21.13.7. moderate 外部キー関係に新しい人を追加

ここでは、正しいSQLステートメントがある:

insert into streets (name) values('Main Road');
insert into people (name,house_no, street_id, phone_no)
  values ('Joe Smith',55,2,'072 882 33 21');

再び路上のテーブルを(以前のようにselect文を使用して)見ると、 主要道路 エントリのための id2 であることがわかるでしょう。

上で単に数 2 以を入力することができた理由です。私たちが上記のエントリで完全に書き出された 主要道路 を見ていないにもかかわらず、データベースはそれを 2street_id 値を持つものと関連付けできるようになります。

ノート

すでに新しい street オブジェクトを追加している場合、新しい 主要道路 のIDは 2 でなく 3 であることを見つけるかもしれません

テキストへ 戻る

21.13.8. moderate 戻りストリート名

ここでは、使用すべき正しいSQLステートメントがある:

select count(people.name), streets.name
from people, streets
where people.street_id=streets.id
group by streets.name;

結果::

count |    name
------+-------------
    1 | Low Street
    2 | High street
    1 | Main Road
(3 rows)

ノート

テーブル名をフィールド名の接頭辞にしていることに気づくでしょう(例えばpeople.nameとstreets.name)。フィールド名があいまいな(つまり、データベース内のすべてのテーブル間で一意ではない)時はいつでもこれが行われる必要があります。

テキストへ戻る

21.14. Results For 空間問合せ

21.14.1. basic 空間クエリで使用される単位

レイヤーが使用しているCRSこれは、その単位は度であることを意味する地理CRS、あるWGS 84であるため、例えば、クエリで使用される単位は、度です。投影CRSは、UTM投影でのように、メートルです。

クエリを書くときはレイヤーのCRSがどの単位かを知る必要があることを忘れないでください。これにより期待する結果が返されるクエリを記述できるでしょう。

テキストへ戻る

21.14.2. basic 空間索引の作成

CREATE INDEX cities_geo_idx
  ON cities
  USING gist (the_geom);

テキストへ戻る

21.15. Results For ジオメトリ建設

21.15.1. moderate ラインストリングを作成します

alter table streets add column the_geom geometry;
alter table streets add constraint streets_geom_point_chk check
     (st_geometrytype(the_geom) = 'ST_LineString'::text OR the_geom IS NULL);
insert into geometry_columns values ('','public','streets','the_geom',2,4326,
     'LINESTRING');
create index streets_geo_idx
  on streets
  using gist
  (the_geom);

テキストへ戻る

21.15.2. moderate 表のリンク

delete from people;
alter table people add column city_id int not null references cities(id);

(QGISの都市をキャプチャ)

insert into people (name,house_no, street_id, phone_no, city_id, the_geom)
   values ('Faulty Towers',
           34,
           3,
           '072 812 31 28',
           1,
           'SRID=4326;POINT(33 33)');

insert into people (name,house_no, street_id, phone_no, city_id, the_geom)
   values ('IP Knightly',
           32,
           1,
           '071 812 31 28',
           1,F
           'SRID=4326;POINT(32 -34)');

insert into people (name,house_no, street_id, phone_no, city_id, the_geom)
   values ('Rusty Bedsprings',
           39,
           1,
           '071 822 31 28',
           1,
           'SRID=4326;POINT(34 -34)');

次のエラーメッセージを取得している場合:

ERROR:  insert or update on table "people" violates foreign key constraint
        "people_city_id_fkey"
DETAIL: Key (city_id)=(1) is not present in table "cities".

それは都市テーブルのポリゴンを作成して実験しながら、それらのいくつかを削除してやり直していなければならないことを意味します。都市テーブルのエントリをチェックし、いずれか存在する:kbd:id を使用するだけです。

テキストに戻る

21.16. Results For 簡易機能モデル

21.16.1. moderate 表を移入

create table cities (id serial not null primary key,
                     name varchar(50),
                     the_geom geometry not null);
 alter table cities
 add constraint cities_geom_point_chk
 check (st_geometrytype(the_geom) = 'ST_Polygon'::text );

テキストに戻る

21.16.2. moderate * GEOMETRY_COLUMNS表を移入*

insert into geometry_columns values
      ('','public','cities','the_geom',2,4326,'POLYGON');

テキストに戻る

21.16.3. hard ジオメトリの追加

select people.name,
       streets.name as street_name,
       st_astext(people.the_geom) as geometry
from   streets, people
where  people.street_id=streets.id;

結果::

     name     | street_name |   geometry
--------------+-------------+---------------
 Roger Jones  | High street |
 Sally Norman | High street |
 Jane Smith   | Main Road   |
 Joe Bloggs   | Low Street  |
 Fault Towers | Main Road   | POINT(33 -33)
(5 rows)

ご覧のとおり、私たちの制限ではデータベースへの null の追加を認めています。

テキストに戻る