在 QGIS 中使用 Google Maps Engine Connector

警告

在 2015 年 1 月 29 日,Google Maps Engine 已停止新帐户的申请,而旧帐户至多也只能使用此服务至 2016 年 1 月 29 日。

Google Maps Engine is a cloud based mapping platform for creating and sharing custom maps. Google Maps Engine Connector is a plugin that allows you to view and upload Google Maps Engine data from within QGIS. 本教学会带领你建立 Google Maps Engine 的帐户,然后取得使用 Connector 的登入资讯,并使用 Google Maps Engine 建立地图,最后在 QGIS 中存取与修改。

注解

声明:原文作者是 Google Maps Engine Connector 的设计者,同时也隶属于 Google Maps 开发团队之中。

内容说明

使用附加元件把 San Francisco 的 bike routes 图层上传到 Google Maps Engine 中,当图层建立并设定好样式后,再把它以 WMS 图层格式载到 QGIS 之中。

你还会学到这些

  • 使用 Google Developer Console 建立要在 Google APIs 下使用的新专案

取得资料

San Francisco Data 是旧金山市不错的开放资料来源。

  1. 使用在网站上的 Export 选项下载 SFMTA Bikeway Network shapefile。

../_images/1193.png

资料来源 [SFMTA]

建立 Google Maps Engine 的帐号

  1. You can sign up for a free Google Maps Engine trial account. The trial account is a full featured Maps Engine instance with limited storage quota. Visit Google Maps Engine homepage and click the Get started with a free account link.

../_images/2149.png
  1. You will need to sign-in to your Google account. If you wish to use your work email, you can create a new Google account with your work email address as well. Once signed in, you will see the Create a Maps Engine Project screen. Enter a Project Name which will identify your account when using Google Maps Engine. Accept the terms and click Accept and create button.

../_images/383.png

建立 Google Developer Console 专案

  1. The Google Maps Engine Connector uses the Google Maps Engine API to access the data stored in your account. You will need to obtain special credentials which the plugin will use to programatically access your data. Visit Google Developer Console and click Create Project. Enter GME Connector for QGIS API as the PROJECT NAME and gme-qgis-api as the PROJECT ID. These names are just a suggestion - you may use any name and id you like.

../_images/461.png
  1. Once the project is created, click the APIs & auth link. Scroll down and find the Google Maps Engine API. Click the OFF button to toggle it to ON.

../_images/562.png
  1. Next, click on the Credentials link. Click CREATE NEW CLIEND ID under the OAuth section.

../_images/659.png
  1. In the Create Client ID dialog, select Installed Application as the APPLICATION TYPE and Other as the INSTALLED APPLICATION TYPE. Click Create Client ID.

../_images/758.png
  1. Once the client id is created, you will see a new section called Client ID for native application. Note the Client ID and Client secret. These are the credentials you will need to use in QGIS.

../_images/856.png
  1. 开启 QGIS,选择 附加元件 ‣ 管理与安装附加元件…,安装 Google Maps Engine Connector 附加元件。

../_images/955.png
  1. Once the plugin is installed, you will see a new toolbar in QGIS. This toolbar contains various tools to work with Google Maps Engine. Click the More button.

../_images/1054.png
  1. In the Advanced Settings dialog, enter the Client ID and Client Secret you obtained from Google Developer Console. Click OK.

../_images/1194.png
  1. As you entered new API credentials, you will be prompted to log-in and authorize the plugin to use these. Sign-in to your Google account.

../_images/1254.png
  1. 在下个视窗选 接受

../_images/1352.png
  1. If all went well, you will see a message indicating you have successfully logged in.

../_images/1451.png
  1. 现在来加入刚才下载的 SFMTA Bikeway Network 图层吧。选择 图层 ‣ 加入向量图层,找到刚下载的 SFMTA_Bikeway_Network.zip 档案,按下 开启,选择 SFMTA_Bikeway_Network.shp,最后按 确定

../_images/1549.png
  1. One of the features of the Google Maps Engine Connector plugin is the ability to upload datasets directly from QGIS. Select the SFMTA_Bikeway_Network layer and click Upload icon in the toolbar.

../_images/1645.png
  1. In the Upload a dataset to Google Maps Engine dialog, enter a Description of the dataset. You may leave all other settings to default values. Click OK.

../_images/1742.png
  1. The plugin will use the Google Maps Engine API to upload the layer and create a Google Maps Engine Data Source. Once the upload is finished, a new browser tab will open and take you to the newly created data source.

../_images/1842.png
  1. The next few steps will demonstrate the process of creating a map using Google Maps Engine. Once the map is created, we will access that map using the plugin in QGIS. Once your vector table has finished processing, click Create styled layer.

../_images/1936.png
  1. 图层命名为 SFMTA_Bikeway_Network 然后按下 Create

../_images/2029.png
  1. Click Add rule to add a custom style for the layer.

../_images/2150.png
  1. Choose the color and label options under the Line style section. Click Apply to view the style settings applied to your layer. You may also select No Basemap option from top-right corner to allow you to see your layer without the underlying basemap. Once you are satisfied with the styling, switch to the Info windows tab.

../_images/2229.png
  1. Here you can specify what content is shown when a feature is clicked on the map. You can access the feature attributes using the markup {attribute_name}. In this case, we just want to display the street name for the line feature. Enter the following in the text area. Click Apply and click on any line feature on the map to test the info window code. When done, check the Publish on exit button and click Exit.

<div class='googeb-info-window' style='font-family: sans-serif'>
 {STREETNAME}  {TYPE}
</div>
../_images/2325.png
  1. Click Add to map to create a map with this layer.

../_images/2423.png
  1. Select Create new and enter SFMTA Bikeway Network as the Map title.

../_images/2521.png
  1. You will see a new map containing the styled layer. You have an option of choosing different basemaps for the map. Since this is a bike path map, you can select the Terrain style basemap.

../_images/2619.png
  1. 点选 Publish map

../_images/2719.png
  1. Once the map is published, click on the Access links icon.

../_images/2817.png
  1. You will see various options to view, embed and access the newly created map. Since we will be accessing the map using the QGIS plugin, you do not need any links from here.

../_images/2915.png
  1. 回到 QGIS,点选在工具列上的 Search 钮。

../_images/308.png
  1. In the Maps Engine Maps dialog, you will see your map listed. Click on the row to select it. Click Add Selected to Map.

../_images/3115.png
  1. The plugin will query Google Maps Engine and load a vector layer containing the bounding box of the map. If you do not see any data on the canvas, right-click on the SFMTA_Bikeway_Network layer and select Zoom to Layer Extent.

../_images/3213.png
  1. Click on the bounding box layer to select it. You will notice that the View tools are now enabled. Click on the WMS Overlay icon in the toolbar.

../_images/3313.png
  1. Select A Layer to Add 视窗中,选择 SFMTA_Bikeway_Network 图层然后按下 Add Selected to Map

../_images/3412.png
  1. A new WMS layer will be added to QGIS and you will see your styled layer from Google Maps Engine displayed in QGIS.

../_images/3511.png

Hope this tutorial gives an overview of the capabilities of the plugin. You can visit the plugin homepage to view the source code and learn more about the plugin.

Below is the Google Maps Engine map that was created for this tutorial.