ラベル 陸前高田市 の投稿を表示しています。 すべての投稿を表示
ラベル 陸前高田市 の投稿を表示しています。 すべての投稿を表示

2014年3月9日日曜日

38 - 外部サービスを利用する 5 - 地理院タイル

38-5 地理院タイル(東日本大震災被災地震災直後オルソ画像、災害復興計画基図)
「地理院タイルを用いた開発(http://portal.cyberjapan.jp/help/development.html)」に「地理院タイル仕様」と「地理院タイル一覧」がります。このうちの「東日本大震災被災地震災直後オルソ画像(2011年3月~2011年4月撮影)」と「災害復興計画基図」を使ってみます。「OpenLayers Basic ESRI Map Cache Example(xyz-esri.html)」を参考に 地理院タイルを陸前高田市の地図に重ねてみます。
OpenLayers 「Spherical Mercator(http://docs.openlayers.org/library/spherical_mercator.html)」も参考にしました。

38-1 Google Map で使用した「ol018-nippon_bmi_takata_pgis.html」を続けて使います。
(他の地図サービスを試すときはコピーして使ってください。)

a Eclipse のメニューの「ファイル」->「ファイルを開く」をクリックします。





b 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「examples」->「xyz-esri.html」をクリックして選択し、「OK」ボタンをクリックします。







c 次のように「xyz-esri.html」の内容の一部をコピーして「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。
d 上記サイトを表示します。
e 次のように内容の一部をコピーして、「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。

---
<style type="text/css">
/*
 .olControlAttribution { 
  bottom: 0px;
  left: 2px;
  right: inherit;
  width: 400px;
 }
*/
/* マウスポジションを上部に設置 */
 .olControlMousePosition {
  top: 0px;
 }
 .olImageLoadError { 
/* when OL encounters a 404, don't display the pink image */
  display: none !important;
 }
</style>
---
 layers: [
// ここから追加(Google Map レイヤは削除)
  new OpenLayers.Layer.XYZ("震災直後オルソ画像", 
  "http://cyberjapandata.gsi.go.jp/xyz/toho1/${z}/${x}/${y}.jpg",
  {
   sphericalMercator: true,
   attribution: "<a href='http://portal.cyberjapan.jp/help/termsofuse.html' target='_blank'>国土地理院</a>"
  },{
   isBaselayer: false
 }),
 new OpenLayers.Layer.XYZ("災害復興計画基図", 
  "http://cyberjapandata.gsi.go.jp/xyz/fukkokizu/${z}/${x}/${y}.png",
  {
   sphericalMercator: true,
   attribution: "<a href='http://portal.cyberjapan.jp/help/termsofuse.html' target='_blank'>国土地理院</a>"
  },{
   isBaselayer: false
 }),
// ここまで
/*
 new OpenLayers.Layer.WMS( "R.Takata Height WMS",
  "http://192.168.1.200:8080/geoserver/wms",
  {
   layers: 'npn:rikuzentakata5m-epsg2452'
  },{
   isBaselayer: true
 }),
*/
---



参考 HTML
ol018tile-nippon_bmi_takata_pgis.html

38 - 外部サービスを利用する 4 - 地理院地図(電子国土Web)

38-4 地理院地図(電子国土Web)
地理院地図(電子国土Web) は、「地理院タイル利用規約(http://portal.cyberjapan.jp/help/termsofuse.html)」にしたがって提供されています。
「OpenLayers サイトサンプル集(http://portal.cyberjapan.jp/portalsite/sample/index.html)」に、API関数の説明があります。
「OpenLayers サンプル集(http://portal.cyberjapan.jp/portalsite/version/v4/samples.html)」には、基本的な地図の表示コードがあります。

デフォルトデータセット
「デフォルトデータセット(地図)を表示する(http://portal.cyberjapan.jp/portalsite/version/v4/v4samples/default.html)」と「OpenLayers Spherical Mercator Example(http://openlayers.org/dev/examples/spherical-mercator.html)」(example フォルダにもありました。)を参考に 地理院地図(電子国土Web) を陸前高田市の地図に重ねてみます。
OpenLayers 「Spherical Mercator(http://docs.openlayers.org/library/spherical_mercator.html)」も参考にしました。

38-1 Google Map で使用した「ol018-nippon_bmi_takata_pgis.html」を続けて使います。
(他の地図サービスを試すときはコピーして使ってください。)

a 上記サイトを右クリックしてソースを表示します。
b 次のように内容の一部をコピーして、「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。

---
<!-- 追加 -->
<!-- 問題があったときはコメントを外して、OpenLayers-2.13.1 をコメントアウトしてください
<script type="text/javascript" src="http://portal.cyberjapan.jp/sys/OpenLayers-2.11/OpenLayers.js" charset="UTF-8"></script>     
-->
<link rel="stylesheet" href="http://portal.cyberjapan.jp/sys/v4/css/webtis.css" type="text/css">
<script type="text/javascript" src="http://portal.cyberjapan.jp/sys/v4/webtis/webtis_v4.js" charset="UTF-8"></script>
<style type="text/css">
/*
 .olControlAttribution { 
  bottom: 0px;
  left: 2px;
  right: inherit;
  width: 400px;
 }
*/
/* マウスポジションを上部に設置 */
 .olControlMousePosition {
  top: 0px;
 }
</style>
---
layers: [
// ここから追加(Google Map レイヤは削除)
 new webtis.Layer.BaseMap("webtismap"),
// ここまで
/*
 new OpenLayers.Layer.WMS( "R.Takata Height WMS",
  "http://192.168.1.200:8080/geoserver/wms",
  {
   layers: 'npn:rikuzentakata5m-epsg2452'
  },{
   isBaselayer: true
 }),
*/
---

38 - 外部サービスを利用する 3 - Open Street Map

38-3 Open Street Map
Open Street Map は、クリエーティブコモンズライセンスにしたがって提供されています。クリエーティブコモンズライセンスについては、「cretive commons 表示 - 継承 3.0 非移植 (CC BY-SA 3.0)(https://creativecommons.org/licenses/by-sa/3.0/deed.ja)」を参照してください。使用者は、使用した資料のクレジットの明示と、改変した場合はそれを明示すればフリーに使えます。

OpenLayers の Development Examples の「Basic OSM Example(http://openlayers.org/dev/examples/osm.html)」と「OpenLayers Spherical Mercator Example(http://openlayers.org/dev/examples/spherical-mercator.html)」(両方とも example フォルダにもありました。)を参考に Open Street Map を陸前高田市の地図に重ねてみます。
OpenLayers 「Spherical Mercator(http://docs.openlayers.org/library/spherical_mercator.html)」も参考にしました。

前前章、38-1 Google Map で使用した「ol018-nippon_bmi_takata_pgis.html」を続けて使います。
(他の地図サービスを試すときはコピーして使ってください。)

a 上記サイトを右クリックしてソースを表示します。
b 次のように内容の一部をコピーして、「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。

---
<style type="text/css">
/*
 .olControlAttribution { 
  bottom: 0px;
  left: 2px;
  right: inherit;
  width: 400px;
 }
*/
/* マウスポジションを上部に設置 */
 .olControlMousePosition {
  top: 0px;
 }
</style>
---
  layers: [
// ここから追加 (Google Map レイヤは削除)
   new OpenLayers.Layer.OSM(
    {
     isBaselayer: true
   }),
// ここまで
/*
   new OpenLayers.Layer.WMS( "R.Takata Height WMS",
    "http://192.168.1.200:8080/geoserver/wms",
    {
     layers: 'npn:rikuzentakata5m-epsg2452'
    },{
     isBaselayer: true
   }),
*/
---

38 - 外部サービスを利用する 2 - Microsoft 地図 Bing Map

38-2 Microsoft 地図 Bing Map
Bing Map は、Bing Map API により、無料のウェッブサイトに表示できる無料のサービスです。商用ウェッブサイトで使用するときは、有償ライセンスが必要です。詳しくは「Bing Maps Licensing Options」(http://www.microsoft.com/maps/Licensing/licensing.aspx)ページをみてください。「Help Me Decide」で

「Who will be using this application?」
 -> Consumers (for the general public)
「What is your application type?」
 -> My application is a Public Website for Education or Non-Profit organizations.
「Next steps to license」
 -> Bing Maps account

と進んでアカウントを取得します。
社内(組織内)だけで使用する場合などは、問い合わせてください。

OpenLayers の Development Examples の「Bing Example(http://openlayers.org/dev/examples/bing.html)」と「OpenLayers Spherical Mercator Example(http://openlayers.org/dev/examples/spherical-mercator.html)」(両方とも example フォルダにもありました。)を参考に Bing Map を陸前高田市の地図に重ねてみます。
OpenLayers 「Spherical Mercator(http://docs.openlayers.org/library/spherical_mercator.html)」も参考にしました。

前章、38-1 Google Map で使用した「ol018-nippon_bmi_takata_pgis.html」を続けて使います。
(他の地図サービスを試すときはコピーして使ってください。)

a 上記サイトを右クリックしてソースを表示します。
b 次のように内容の一部をコピーして、「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。

---
<style type="text/css">
/*
 .olControlAttribution { 
  bottom: 0px;
  left: 2px;
  right: inherit;
  width: 400px;
 }
*/
/* マウスポジションを上部に設置 */
 .olControlMousePosition {
  top: 0px;
 }
</style>
---
var epsg2452 = new OpenLayers.Projection("EPSG:2452");
var epsg900913 = new OpenLayers.Projection("EPSG:900913");
//var bounds =  new OpenLayers.Bounds(55900,-118000,77500,-98100);
var bounds =  new OpenLayers.Bounds(50000,-118000,77500,-98100);
var epsg900913bounds = bounds.transform(epsg2452, epsg900913);
// create Bing layers
// API key for http://openlayers.org. Please get your own at
// http://bingmapsportal.com/ and use that instead.
var apiKey = "At8z******"; //追加
---
  layers: [
// ここから追加(Google Map レイヤは削除)
   new OpenLayers.Layer.Bing({
    key: apiKey,
    type: "Road",
    wrapDateLine: true
   },{
   isBaselayer: false
  }),
   new OpenLayers.Layer.Bing({
    key: apiKey,
    type: "Aerial",
    wrapDateLine: true
   },{
    isBaselayer: false
  }),
   new OpenLayers.Layer.Bing({
    key: apiKey,
    type: "AerialWithLabels",
    wrapDateLine: true
   },{
    isBaselayer: false
  }),
// ここまで
/*
   new OpenLayers.Layer.WMS( "R.Takata Height WMS",
    "http://192.168.1.200:8080/geoserver/wms",
    {
     layers: 'npn:rikuzentakata5m-epsg2452'
    },{
     isBaselayer: true
   }),
*/
   new OpenLayers.Layer.WMS( "Iwate Kuiki WMS",
    "http://192.168.1.200:8080/geoserver/wms",
    {
    layers: 'npn:iwate_kuiki',
    transparent: true,
    format: 'image/png'
    },{
     isBaselayer: false
   }),
---

38 - 外部サービスを利用する 1 - Google Map

38-1 Google Map
Google Map は、Google Map API により、無料のウェッブサイトに表示できる無料のサービスです。有料ウェッブサイトや社内使用するときは、Google Map API for Business の有償ライセンスが必要です。非営利団体が無償で Google Map API for Business のライセンスを受けられる場合もあるようです。詳しくは「Google Maps API のライセンス」(https://developers.google.com/maps/licensing?hl=ja)ページをみてください。
(API キーがなくても Google Map API の機能は使えるようです。)

「Google (v3) Layer Example(google-v3.html)」を参考に Google Map を陸前高田市の地図に重ねてみます。
OpenLayers 「Spherical Mercator(http://docs.openlayers.org/library/spherical_mercator.html)」も参考にしました。

「ol018-nippon_bmi_akiruno_pgis.html」を続けて使います。
(他の地図サービスを試すときはコピーして使ってください。)

a Eclipse のメニューの「ファイル」->「ファイルを開く」をクリックします。





b 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「examples」->「google-v3.html」をクリックして選択し、「OK」ボタンをクリックします。
同じように「google-v3.js」を開きます。





c 次のように「google-v3.html」の内容の一部をコピーして「ol018-nippon_bmi_takata_pgis.html」に貼り付け、修正します。

---
<title>WMS Example Rikuzen Takata PGIS2</title>
<!-- 追加 -->
<script src="http://maps.google.com/maps/api/js?v=3&sensor=false"></script>
<script src="OpenLayers-2.13.1/lib/OpenLayers.js"></script>
---
<!-- 追加 -->
<style type="text/css">
 .olControlAttribution { 
  bottom: 0px;
  left: 2px;
  right: inherit;
  width: 400px;
 }
 /* conditionally position control differently for Google Maps */
 .olForeignContainer div.olControlMousePosition {
  bottom: 28px;
 }
</style>
---
<script type="text/javascript">
 OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
 Ext.BLANK_IMAGE_URL = "ext-3.4.1/resources/images/default/s.gif";
 var app, items = [], controls = [];
// ここから追加
 var epsg2452 = new OpenLayers.Projection("EPSG:2452");
 var epsg900913 = new OpenLayers.Projection("EPSG:900913");
 var bounds =  new OpenLayers.Bounds(55900,-118000,77500,-98100);
 var epsg900913bounds = bounds.transform(epsg2452, epsg900913);
// ここまで
 Ext.onReady(function() {
  app = new Ext.Viewport({
   layout: "border",
   items: items
  });
 });
 items.push({
  xtype: "gx_mappanel",
  ref: "mapPanel",
  region: "center",
  map: {
   controls: controls,
//   projection: new OpenLayers.Projection("EPSG:2452"),
   projection: epsg900913,
   displayProjection: new OpenLayers.Projection("EPSG:4326"),
//   maxResolution: 'auto',
   maxResolution: 156543.0339,
   units: 'meters',
//   maxExtent: new OpenLayers.Bounds(55900,-118000,77500,-98100)
   maxExtent: epsg900913bounds,
   restrictedExtent: epsg900913bounds.clone()
  },
/*
  extent: OpenLayers.Bounds.fromArray([
    -122.911, 42.291,
    -122.787,42.398
  ]),
*/
  extent: epsg900913bounds,
 /*
  layers: [new OpenLayers.Layer.WMS(
   "Medford",
   "/geoserver/wms",
   {layers: "medford"},
   {isBaseLayer: false}
  )]
*/
  layers: [
// ここから追加
   new OpenLayers.Layer.Google(
    "Google Physical",
    {
     type: google.maps.MapTypeId.TERRAIN,
     sphericalMercator: true
    },{
     isBaselayer: false
   }),
   new OpenLayers.Layer.Google(
    "Google Streets", // the default
    {
//   numZoomLevels: 20
     sphericalMercator: true
    },{
     isBaselayer: false
   }),
   new OpenLayers.Layer.Google(
    "Google Hybrid",
    {
     type: google.maps.MapTypeId.HYBRID, //numZoomLevels: 20
     sphericalMercator: true
    },{
     isBaselayer: false
   }),
   new OpenLayers.Layer.Google(
    "Google Satellite",
    {
     type: google.maps.MapTypeId.SATELLITE, //numZoomLevels: 22
     sphericalMercator: true
    },{
     isBaselayer: false
   }),
// ここまで
/*
   new OpenLayers.Layer.WMS( "R.Takata Height WMS",
    "http://192.168.1.200:8080/geoserver/wms",
    {
     layers: 'npn:rikuzentakata5m-epsg2452'
    },{
     isBaselayer: true
   }),
*/
   new OpenLayers.Layer.WMS( "Iwate Kuiki WMS",
    "http://192.168.1.200:8080/geoserver/wms",
    {
    layers: 'npn:iwate_kuiki',
    transparent: true,
    format: 'image/png'
    },{
     isBaselayer: false
   }),
---

iwate_kuiki レイヤのタイル表示がおかしいので、マップの表示範囲を修正します。
---
// var bounds =  new OpenLayers.Bounds(55900,-118000,77500,-98100);
   var bounds =  new OpenLayers.Bounds(50000,-118000,77500,-98100);
--- 

API キーがないと拡大表示に制限があるようです。

2014年3月3日月曜日

37 - 陸前高田市の地図の表示 9 - 陸前高田市の地図の表示

37-9 陸前高田市の地図の表示
「36 - GeoEXT を使用した WFS-T」で使用した HTML コードを参考に陸前高田市の地図を表示します。
「ol017bonus-nippon_bmi_akiruno_pgis.html」をコピーして使います。

a 「App Exploler」ペインの「ol017bonus-nippon_bmi_akiruno_pgis.html」を右クリックし「コピー」をクリックします。







b 「App Exploler」ペイン上で右クリックし「貼り付け」をクリックします。






c 「名前の競合」ウィンドウで「ol018-nippon_bmi_takata_pgis.html」と入力し「OK」ボタンをクリックします。



Proj4JS の EPSG2452.js の定義ファイルを追加します。
---
<!-- Title を "Rikuzen Takata" に修正 -->
<title>WMS Example Rikuzen Takata PGIS2</title>
<script src="OpenLayers-2.13.1/lib/OpenLayers.js"></script>

<script src="OpenLayers-2.13.1/lib/proj4js/lib/proj4js.js"></script>
<script src="OpenLayers-2.13.1/lib/proj4js/lib/proj4js-combined.js"></script>
<!--
<script src="OpenLayers-2.13.1/lib/proj4js/lib/proj4js-compressed.js"></script>
<script src="OpenLayers-2.13.1/lib/proj4js/lib/defs/EPSG2451.js"></script>
 -->
<script src="OpenLayers-2.13.1/lib/proj4js/lib/defs/EPSG2452.js"></script>
---

マップの projection と maxExtent を修正します。
GeoServer の rikuzentakata_kukakusen レイヤのデータ

Min X: 55999.999987
Min Y: -117,971.375
Max X: 77,583.9140625
Max Y: -98138.759978

から、

---
 items.push({
 xtype: "gx_mappanel",
 ref: "mapPanel",
 region: "center",
 map: {
  controls: controls,
  projection: new OpenLayers.Projection("EPSG:2452"), // 修正
  displayProjection: new OpenLayers.Projection("EPSG:4326"),
  maxResolution: 'auto',
  units: 'meters',
  maxExtent: new OpenLayers.Bounds(55900,-118000,77500,-98100) // 修正
 },

---
// ここから修正
 layers: [
  new OpenLayers.Layer.WMS( "R.Takata Height WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata5m-epsg2452'
   },{
    isBaselayer: true
  }),
  new OpenLayers.Layer.WMS( "Iwate Kuiki WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:iwate_kuiki',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Kukakusen WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_kukakusen',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Choaza WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_choaza',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Kaigan WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_kaigan',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Suigai WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_suigai',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Suiiki WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_suiiki',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Suikozo WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_suikozo',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Doro WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_doro',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Dorokozo WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_dorokozo',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Kido WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_kido',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "R.Takata Kenchiku WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:rikuzentakata_kenchiku',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  }),
  new OpenLayers.Layer.WMS( "Iwate Public Facilities WMS",
   "http://192.168.1.200:8080/geoserver/wms",
   {
    layers: 'npn:iwate_pf',
    transparent: true,
    format: 'image/png'
   },{
    isBaselayer: false
  })
 ]
});
// ここまで
---
items.push({
 xtype: "editorgrid",
 ref: "featureGrid",
 title: "Feature Table",
 region: "south",
 height: 150,
 sm: new GeoExt.grid.FeatureSelectionModel(),
 store: new GeoExt.data.FeatureStore({
  fields: [
   {name: "fid", type: "int"},
   {name: "id", type: "string"},
   {name: "term", type: "string"},
   {name: "address", type: "string"},
   {name: "category1", type: "string"},
   {name: "category2", type: "string"},
   {name: "category3", type: "string"},
   {name: "createdate", type: "string"},
   {name: "lastupdate", type: "string"}
  ],
  proxy: new GeoExt.data.ProtocolProxy({
   protocol: new OpenLayers.Protocol.WFS({
    url: "/geoserver/ows",
    version: "1.1.0",
    featureType: "riuzentakata_polygon", // 修正
    featureNS: "http://www.myhome.net/npn",
    srsName: "EPSG:2452", // 修正
    geometryName: "the_geom",
    schema: "http://192.168.1.200/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=npn:riuzentakata_polygon" // 修正
   })
  }),
  autoLoad: true
 }),

---
参考 HTML ファイル
ol018-nippon_bmi_takata_pgis.html

37 - 陸前高田市の地図の表示 8 - 編集レイヤの追加

37-8 Point, Line, Polygon レイヤを設定point と line、polygon は、別々のレイヤにして保存します。
GeoServer に新しいレイヤを作成します。レイヤは次のようにします。
Layer(Type) Name        Default Style(WMS Setting)  attribute(the_geom)
rikuzentakata_point     point                       Multi point
rikuzentakata_line      line                        Multi line
rikuzentakata_polygon   polygon                     Multi polygon

次の属性は各レイヤ共通です。
id          charactor varying(32)
term        charactor varying(32)
address     charactor varying(32)
createdate  charactor varying(32)
lastupdate  charactor varying(32)
category1   charactor varying(32)
category2   charactor varying(32)
category3   charactor varying(32)

次の設定は各レイヤ共通です。
Workspace  Store  Enabled?  Declare SRS
npn        bmi    cheked    EPSG:2452

Min X:  Min Y:   Max X:  Max Y: 
55900   -118000  77500   -98100

GeoServer でレイヤを追加します。

a 左側の欄の「Data」の「Layers」をクリックします。






b 「Add a new resource」をクリックします。






d 「New Layer」ページの「Add layer from」のドロップダウンリストから「npn:bmi」を選択します。



e 「New Layer」ページの「Create new feature type...」をクリックします。

f 「Create new vector layer」ページの「Add new attribute」をクリックします。



g 「Create new attribute」ページに次のように入力して「Save」ボタンをクリックします。

Name: the_geom
Type: Multi point
Coordinate reference system: EPSG:2452




その他の属性を次のように入力します。
Name        Type    Size
id          String  32
term        String  32
address     String  32
createdate  String  32
lastupdate  String  32
category1   String  32
category2   String  32
category3   String  32

h 「Create new vector layer」ページの「Type name」欄に「rikuzentakata_point」と入力して「Save」ボタンをクリックします。





i 「Edit Layer」ページの「Basic Resource Info」の「Title」と「Abstract」を入力します。(任意)











j 「Bounding Boxes」の「Native Bounding Box」の各欄に次のように入力します。(map オブジェクトの maxExtent より)

Min X: 55900
Min Y: -118000
Max X: 77500
Max Y: -98100

k 「Bounding Boxes」の「Lat/Lon Bounding Box」の「Compute from native bounds」をクリックします。(各欄が入力されます。)
(「Feature Type Details」の「Reload feature type」は必要に応じてクリックします。)

l 「Publish」タブの「Edit Layer」の「Enabled」のチェックボックスにチェックがついていることを確認します。




m 「WMS Settings」の「Default Style」でドロップダウンリストから「point」を選択します。





n 「Save」ボタンをクリックします。

同じように rikuzentakata_line、rikuzentakata_polygon を追加します。

37 - 陸前高田市の地図の表示 7 - GeoServer に登録 4 - スタイルの設定

37-7-4 スタイルの設定
それぞれのレイヤにスタイルを設定するため、SLD ファイルを設定します。
レイヤ                   SLD ファイル
rikuzentakata_kukakusen  kukakusen.sld
rikuzentakata_choaza     choaza.sld
rikuzentakata_doro       doro.sld
rikuzentakata_dorokozo   dorokozo.sld
rikuzentakata_kaigan     kaigan.sld
rikuzentakata_kenchiku   kenchiku.sld
rikuzentakata_kido       kido.sld
rikuzentakata_suigai     suigai.sld
rikuzentakata_suiiki     suiiki.sld
rikuzentakata_suikozo    suikozo.sld

作成したファイルを GeoServer に追加します。

a ログインした GeoServer ページの左側の欄の Data -> Styles をクリックします。






b Styles ページの「Add a new style」をクリックします。






c New style ページで SLD のファイル名を入力します。

Name: kukakusen(拡張子 ".sld" のない名前)

と入力します。



d New style ページの下の方の SLD file の「参照」ボタンをクリックします。


e 「ファイルのアップロード」で kukakusen.sld を選択し「開く」ボタンをクリックします。








f 「Upload...」リンクをクリックします。

g 「Validate」ボタンをクリックします。
h 「no validation error」と表示されたら
と入力して「submit」ボタンをクリックします。





i 左側の欄の Data -> Layers をクリックします。







j 「bmi」の「rikuzentakata_kukakusen」をクリックします。




k ページ上部の「Publishing」タブをクリックします。







l 「WMS Setting」の「Default Style」を「kukakusen」にします。
(他は変更しません。)







m ページ下部の「Save」ボタンをクリックします。

スタイリングの確認
a 左側の欄の「Layer Preview」をクリックします。






b 「npn:rikuzentakata_kukakusen」の「OpenLayers」リンクをクリックします。

同じように他のレイヤも設定します。

37 - 陸前高田市の地図の表示 7 - GeoServer に登録 3 -数値標高モデル画像

37-7-3 陸前高田市の数値標高モデル画像を GeoServer に登録
数値標高モデル画像は tiff 形式で GeoServer 設定します。
次のコマンドで、tiff 形式にします。

gdal_translate file.png file.tif

user@debian7-vmw:~/mapdata/rikuzentakata$ ls
---
rikuzentakata5m-epsg2452.png
rikuzentakata5m-epsg2452.png.aux.xml
rikuzentakata5m-epsg4326.png
rikuzentakata5m-epsg4326.png.aux.xml
rikuzentakata5m.pgw
rikuzentakata5m.png
---
user@debian7-vmw:~/mapdata/rikuzentakata$ gdal_translate rikuzentakata5m-epsg4326.png rikuzentakata5m-epsg4326.tif
Input file size is 1851, 1584
0...10...20...30...40...50...60...70...80...90...100 - done.
user@debian7-vmw:~/mapdata/rikuzentakata$ gdal_translate rikuzentakata5m-epsg2452.png rikuzentakata5m-epsg2452.tif
Input file size is 1851, 1584
0...10...20...30...40...50...60...70...80...90...100 - done.
user@debian7-vmw:~/mapdata/rikuzentakata$ ls
---
rikuzentakata5m-epsg2452.png
rikuzentakata5m-epsg2452.png.aux.xml
rikuzentakata5m-epsg2452.tif
rikuzentakata5m-epsg4326.png
rikuzentakata5m-epsg4326.png.aux.xml
rikuzentakata5m-epsg4326.tif
rikuzentakata5m.pgw
rikuzentakata5m.png
---

GeoServer を起動し、ログインします。
a 左側の欄の「Data」の「Store」をクリックします。






b 「Stores」の「Add new Store」をクリックします。






c 「New data source」の「Raster Data Sources」の「GeoTIFF」をクリックします。


d 「Add Raster Data Source」の
「Basic Store Info」
Workspace: npn (必須 変更なし)
Data Source Name: rikuzentakata5mepsg2452(必須)
Description: Rikuzentakata elevation 5m mesh EPSG:2452(任意)





「Connection Parameters」
URL: (入力欄右側の「Browse...」をクリックします。
ダイアログウィンドウ左上のドロップダウンリストをクリックします。
「/」をクリックします。




「home/」->「user/」->「mapdata/」->「rikuzentakata/」->「rikuzentakata5m-epsg2452.tif」をクリックします。





「Save」ボタンをクリックします。

レイヤにも追加されています。