Showing preview only (2,484K chars total). Download the full file or copy to clipboard to get everything.
Repository: google/maps-for-work-samples
Branch: master
Commit: d1c76979488a
Files: 127
Total size: 2.3 MB
Directory structure:
gitextract_0ly565b8/
├── .gitignore
├── LICENSE
├── README.md
├── demos/
│ └── CloudSQL/
│ ├── cloudsql-geojson-api/
│ │ ├── CONTRIB.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── api.py
│ │ ├── app.yaml
│ │ ├── appengine_config.py
│ │ ├── requirements.txt
│ │ ├── static/
│ │ │ └── js/
│ │ │ └── cloudsql-json-api.js
│ │ └── vendor.py
│ ├── cloudsql-maps-api/
│ │ ├── index.html
│ │ └── js/
│ │ └── gmaps.js
│ └── cloudsql-store-locator/
│ ├── cloudsql-datasource.js
│ ├── cloudsql.html
│ └── cloudsql.js
├── samples/
│ ├── GEE/
│ │ └── gee_maps_polyline_sample.html
│ └── maps/
│ └── OpenWeatherMapLayer/
│ └── index.html
└── tools/
└── GEE/
└── BuildTheBaseGlobe/
├── Imagery/
│ ├── A1.prj
│ ├── A1.tfw
│ ├── A2.prj
│ ├── A2.tfw
│ ├── B1.prj
│ ├── B1.tfw
│ ├── B2.prj
│ ├── B2.tfw
│ ├── BuildBlueMarble.sh
│ ├── C1.prj
│ ├── C1.tfw
│ ├── C2.prj
│ ├── C2.tfw
│ ├── D1.prj
│ ├── D1.tfw
│ ├── D2.prj
│ ├── D2.tfw
│ ├── FetchBlueMarble.sh
│ ├── buildtruemarble250.sh
│ └── fetchtruemarble250.sh
├── RunMeFirst.sh
├── terrain/
│ ├── BuildEtopoData.sh
│ └── FetchEtopoData.sh
└── vector/
├── BuildBorders.sh
├── BuildCloudmadeRoads.sh
├── BuildNamesData.sh
├── FetchBordersData.sh
├── FetchNamesData.sh
├── FetchOSM.sh
├── HiRezShoreline.khdsp
├── InternationalBorders.khdsp
├── LowRezShoreline.khdsp
├── OpenStreetmap/
│ ├── 2D_OSM_Highways_Only.kmdsp
│ ├── BuildCloudmadeRoads.sh
│ ├── FetchOSMData.sh
│ ├── GenericOSMHighwayTemplate.khdsp
│ ├── africa_highway.khdsp
│ ├── asia_highway.khdsp
│ ├── europe_highway.khdsp
│ ├── north_america_highway.khdsp
│ ├── oceania_highway.khdsp
│ ├── south_america/
│ │ └── unzip_south_america.sh
│ └── south_america_highway.khdsp
├── StateBorders.khdsp
├── StateNames.khdsp
├── TigerLineRoads/
│ ├── 1_FetchTigerLineData.sh
│ ├── 2D_Tiger_Roads_Template.kmdsp
│ ├── 2D_Tigerline_Highways_only.kmdsp
│ ├── 2_UnzipEdgeFiles.sh
│ ├── 3_CreateTigerResources.sh
│ ├── 4_BuildTigerResources.sh
│ ├── 5_AddTigerResourcesToProject.sh
│ ├── ALABAMA.khdsp
│ ├── ALASKA.khdsp
│ ├── ARIZONA.khdsp
│ ├── ARKANSAS.khdsp
│ ├── CALIFORNIA.khdsp
│ ├── COLORADO.khdsp
│ ├── CONNECTICUT.khdsp
│ ├── DELAWARE.khdsp
│ ├── DISTRICT_OF_COLUMBIA.khdsp
│ ├── FLORIDA.khdsp
│ ├── GEORGIA.khdsp
│ ├── HAWAII.khdsp
│ ├── IDAHO.khdsp
│ ├── ILLINOIS.khdsp
│ ├── INDIANA.khdsp
│ ├── IOWA.khdsp
│ ├── KANSAS.khdsp
│ ├── KENTUCKY.khdsp
│ ├── LOUISIANA.khdsp
│ ├── MAINE.khdsp
│ ├── MARYLAND.khdsp
│ ├── MASSACHUSETTS.khdsp
│ ├── MICHIGAN.khdsp
│ ├── MINNESOTA.khdsp
│ ├── MISSISSIPPI.khdsp
│ ├── MISSOURI.khdsp
│ ├── MONTANA.khdsp
│ ├── NEBRASKA.khdsp
│ ├── NEVADA.khdsp
│ ├── NEW_HAMPSHIRE.khdsp
│ ├── NEW_JERSEY.khdsp
│ ├── NEW_MEXICO.khdsp
│ ├── NEW_YORK.khdsp
│ ├── NORTH_CAROLINA.khdsp
│ ├── NORTH_DAKOTA.khdsp
│ ├── OHIO.khdsp
│ ├── OKLAHOMA.khdsp
│ ├── OREGON.khdsp
│ ├── PENNSYLVANIA.khdsp
│ ├── RHODE_ISLAND.khdsp
│ ├── SOUTH_CAROLINA.khdsp
│ ├── SOUTH_DAKOTA.khdsp
│ ├── TENNESSEE.khdsp
│ ├── TEXAS.khdsp
│ ├── Tiger2009_road_display_rules.khdsp
│ ├── TigerLine2D2009HighwaysOnly.kmdsp
│ ├── TigerLineRoads.khdsp
│ ├── TigerLineRoadsHighwaysOnly.khdsp
│ ├── UTAH.khdsp
│ ├── VERMONT.khdsp
│ ├── VIRGINIA.khdsp
│ ├── WASHINGTON.khdsp
│ └── WEST_VIRGINIA.khdsp
├── allCountries.kdx
├── usa_state_names.khdsp
└── world_cities.khdsp
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*~
\#*\#
.\#*
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
This repository contains samples, demos and tools relating to the
Google Maps APIs and related enterprise products, like Google Maps
Engine.
The samples directory contains simple samples that show a single
concept.
The demos directory shows some more complex examples, and usually
combines the use of a concept or two.
The tools contain different tools that both show how to do some thing,
but also is a useful tool that you can use e.g. for debugging.
Each directory is split into a sub-directory based on the product it
applies to.
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/CONTRIB.md
================================================
# How to become a contributor and submit your own code
## Contributor License Agreements
We'd love to accept your sample apps and patches! Before we can take them, we have to jump a couple of legal hurdles.
Please fill out either the individual or corporate Contributor License Agreement (CLA).
* If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).
* If you work for a company that wants to allow you to contribute your work, then you'll need to sign a [corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests.
## Contributing A Patch
1. Submit an issue describing your proposed change to the repo in question.
1. The repo owner will respond to your issue promptly.
1. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
1. Fork the desired repo, develop and test your code changes.
1. Ensure that your code adheres to the existing style in the sample to which you are contributing. Refer to the [Google Cloud Platform Samples Style Guide](https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the recommended coding standards for this organization.
1. Ensure that your code has an appropriate set of unit tests which all pass.
1. Submit a pull request.
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/README.md
================================================
## Python CloudSQL Query Library for Google App Engine
A demonstration on how to use appengine for building a geospatial application
based on [CloudSQL](https://cloud.google.com/sql/docs). This appengine
application implements the backend server that your Google Maps API application
can use to query your geospatial data.
## Run Locally
1. Install the [App Engine Python SDK](https://developers.google.com/appengine/downloads).
See the README file for directions. You'll need python 2.7 and [pip 1.4 or later](http://www.pip-installer.org/en/latest/installing.html) installed too.
2. Install dependencies in the project's lib directory.
Note: App Engine can only import libraries from inside your project directory.
```
cd project-wander-api
pip install -r requirements.txt -t lib
```
3. Run this project locally from the command line:
```
dev_appserver.py .
```
Visit the application [http://localhost:8080](http://localhost:8080)
See [the development server documentation](https://developers.google.com/appengine/docs/python/tools/devserver)
for options when running dev_appserver.
## Deploy
To deploy the application:
1. Use the [Admin Console](https://appengine.google.com) to create a
project/app id. (App id and project id are identical)
1. [Deploy the
application](https://developers.google.com/appengine/docs/python/tools/uploadinganapp) with
```
appcfg.py -A <your-project-id> --oauth2 update .
```
1. Congratulations! Your application is now live at your-app-id.appspot.com
## Next Steps
This skeleton includes `TODO` markers to help you find basic areas you will want
to customize.
### Installing Libraries
See the [Third party
libraries](https://developers.google.com/appengine/docs/python/tools/libraries27)
page for libraries that are already included in the SDK. To include SDK
libraries, add them in your app.yaml file. Other than libraries included in
the SDK, only pure python libraries may be added to an App Engine project.
### Feedback
Star this repo if you found it useful. Use the github issue tracker to give
feedback on this repo.
## Contributing changes
See [CONTRIB.md](CONTRIB.md)
## Licensing
See [LICENSE](LICENSE)
## Author
Wolf Bergenheim
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/api.py
================================================
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""A light REST API to query the backed data.
This is not production-quality software, but intended as a proof-of-concept.
This is intentionally mimiking the Google Maps Engine API.
Currently supports only the Tables.features list operation at url:
/tables/{db}:{table}/features
Supports the following path parameters:
* id
Supports the following query parameters:
* limit
* orderBy
* select
* where
All other query parameters are ignored.
"""
import json
import logging
import os
import traceback
import MySQLdb
# flask, geojson,geomet and sqlparse are external dependencies.
# Install them by running pip install -r requirements.txt -t lib
import flask
import geojson
import geomet.wkb
import geomet.wkt
import sqlparse
# This is your CloudSQL instance
_INSTANCE = 'project-lightning-strike:dev-eu'
_GEOMETRY_FIELD = 'geometry'
# This is the host to connect to in the dev server.
# This can be the IP address of your CloudSQL server, if you want to test that.
_MYSQL_HOST = '173.194.81.135'
_MYSQL_USER = 'root'
_MYSQL_PASSWORD = 'koirakakka'
# Note: We don't need to call run() since our application is embedded within
# the App Engine WSGI application server.
app = flask.Flask(__name__)
@app.route('/tables/<database>:<table>/features')
def do_features_list(database, table):
"""Handle the parsing of the request and return the geojson.
This routes all the /tables/... requests to the handler.
See http://flask.pocoo.org/docs/0.10/api/#flask.Flask.route
Args:
database: The name of the database to use, this is picked from the URL.
table: The database table to query from, this is picked from the URL.
Returns:
A flask.Response object with the GeoJSON to be returned, or an error JSON.
"""
where = flask.request.args.get('where', default='true')
select = flask.request.args.get('select', default='')
limit = flask.request.args.get('limit')
order_by = flask.request.args.get('orderBy')
try:
f = Features(_INSTANCE, database)
except MySQLdb.OperationalError as e:
error = {'error': 'Database Error %s' % str(e)}
return flask.Response(response=json.dumps(error),
mimetype='application/json',
status=500)
feature_collection = f.list(table, select, where,
limit=limit, order_by=order_by)
if 'error' in feature_collection:
return flask.Response(response=json.dumps(feature_collection),
mimetype='application/json',
status=500)
else:
return flask.Response(
response=geojson.dumps(feature_collection, sort_keys=True),
mimetype='application/json',
status=200)
@app.route('/pip/<database>:<table>')
def do_pip(database, table):
"""Handle the parsing of the point in polygon request and return a polygon.
This routes all the /pip/... requests to the handler.
See http://flask.pocoo.org/docs/0.10/api/#flask.Flask.route
Args:
database: The name of the database to use, this is picked from the URL.
table: The database table to query from, this is picked from the URL.
Returns:
A flask.Response object with the GeoJSON to be returned, or an error JSON.
"""
lat = float(flask.request.args.get('lat', default=0.0))
lng = float(flask.request.args.get('lng', default=0.0))
select = flask.request.args.get('select', default='')
try:
pip = PointInPolygon(_INSTANCE, database, table)
except MySQLdb.OperationalError as e:
error = {'error': 'Database Error %s' % str(e)}
return flask.Response(response=json.dumps(error),
mimetype='application/json',
status=500)
polygon = pip.pip(lat, lng, select)
if 'error' in polygon:
return flask.Response(response=json.dumps(polygon),
mimetype='application/json',
status=500)
else:
return flask.Response(
response=geojson.dumps(polygon, sort_keys=True),
mimetype='application/json',
status=200)
@app.errorhandler(404)
def page_not_found(_):
"""Return a custom 404 error."""
return 'Sorry, Nothing at this URL.', 404
@app.errorhandler(500)
def internal_error(_):
"""Return a custom 500 error."""
return 'Sorry, unexpected error: {}'.format(traceback.format_exc()), 500
class Features(object):
"""Implements the tables endpoint in the REST API.
This class handles all tables/{db}:{table}/features requests.
"""
def __init__(self, instance, database):
"""Set up a database connection to the cloud SQL server.
Args:
instance: The name of the CloudSQL instance.
database: The name of the database to use.
"""
# Keep track of the db instance.
self._instance = instance
# The name of the database to use.
self._database = database
self._connect()
def _connect(self):
if (os.getenv('SERVER_SOFTWARE') and
os.getenv('SERVER_SOFTWARE').startswith('Google App Engine/')):
socket_name = '/cloudsql/%s' % self._instance
self._db = MySQLdb.connect(unix_socket=socket_name,
db=self._database, user='root')
else:
self._db = MySQLdb.connect(host=_MYSQL_HOST, port=3306,
db=self._database, user=_MYSQL_USER,
passwd=_MYSQL_PASSWORD)
def __del__(self):
self._db.close()
# TODO: Add more methods for Create/Update/Delete features, and tables.
def list(self, table, select, where, limit=None, order_by=None):
"""Send the query to the database and return the result as GeoJSON.
Args:
table: The Table to use.
select: A comma-separated list of columns to use. Anything that is
valid SQL is accepted. This value needs rigorous error checking.
where: A valid SQL where statement. Also needs a lot of checking.
limit: The limit the number of returned entries.
order_by: A valid SQL order by statement.
Returns:
A GeoJSON FeatureCollection representing the returned features, or
a dict explaining the error.
"""
cursor = self._db.cursor()
features = []
cols = []
# Add the geometry column to the query. This assumes that geometry is
# not in the selected columns.
if select:
select = '%s,AsWKT(%s) as wktgeom' % (select, _GEOMETRY_FIELD)
else:
select = 'AsWKT(%s) as wktgeom' % _GEOMETRY_FIELD
# Build the query.
query = ['select %(select)s from %(id)s where %(where)s' % {
'id': table,
'select': select,
'where': where
}]
if order_by:
query.append('order by %s' % order_by)
if limit:
query.append('limit %s' % limit)
# Convert the list to a string.
query_string = ' '.join(query)
logging.info('query = "%s"', query_string)
if len(sqlparse.split(query_string)) > 1:
return {'error': 'invalid parameter'}
rows = []
try:
cursor.execute(' '.join(query))
cols = [(i[0],i[1]) for i in cursor.description]
rows = cursor.fetchall()
except MySQLdb.Error as e:
# This error should probably be made better in a production system.
return {'error': 'Something went wrong: {}'.format(e)}
# Give each feature a unique ID.
feature_id = 0
# now we read the rows and generate geojson out of them.
for row in rows:
wktgeom = row[-1]
props = {}
for i in range(len(row)-1):
if row[i] is None:
logging.debug('skipping NULL value for column %s ',
cols[i][0])
elif cols[i][1] == 246:
logging.debug('%s = %d', cols[i][0], row[i])
props[cols[i][0]] = int(row[i])
elif cols[i][1] == 255:
logging.debug('SKIPPING GEOMETRY DATA')
elif cols[i][1] > 200:
logging.debug('stringifying data of type %d: %s=%s',
cols[i][1], cols[i][0], row[i])
props[cols[i][0]] = str(row[i])
else:
logging.debug('%s = %s', cols[i][0], row[i])
props[cols[i][0]] = row[i]
#props = dict(zip(cols[:-1], row[:-1]))
# geomet.wkt.loads returns a dict which corresponds to the geometry
# We dump this as a string, and let geojson parse it
geom = geojson.loads(json.dumps(geomet.wkt.loads(wktgeom)))
# Turn the geojson geometry into a proper GeoJSON feature
feature = geojson.Feature(geometry=geom, properties=props,
id=feature_id)
feature_id += 1
# Add the feature to our list of features.
features.append(feature)
# Close the cursor, now that we are done with it.
cursor.close()
# Return the list of features as a FeatureCollection.
return geojson.FeatureCollection(features)
class PointInPolygon(object):
"""This class handles the pip requests.
It uses Features to query the db.
"""
def __init__(self, instance, database, table):
"""Create a Features instance and store the table.
Args:
instance: The name of the CloudSQL instance.
database: The name of the database to use.
table: The table that contains the features that we want to look up.
"""
self._features = Features(instance, database)
self._table = table
def pip(self, lat, lng, fields):
"""This method returns the polygon that contains the given coordinate.
It uses the Feature class to make the actual query.
Args:
lat: The latitude
lng: The longitude
fields: The fields to select as data
Returns:
A geojson polygon or an error dict.
"""
point = "GeomFromText('POINT(%f %f)')" % (lng, lat)
return self._features.list(
self._table, fields,
'ST_CONTAINS(%s,%s)' % (_GEOMETRY_FIELD, point),
limit=1)
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/app.yaml
================================================
# This file specifies your Python application's runtime configuration
# including URL routing, versions, static file uploads, etc. See
# https://developers.google.com/appengine/docs/python/config/appconfig
# for details.
# TODO: Enter your application id below. If you have signed up
# using cloud.google.com/console use the "project id" for your application
# id.
application: project-wander-api
version: 1
runtime: python27
api_version: 1
threadsafe: yes
# Handlers define how to route requests to your application.
handlers:
# App Engine serves and caches static files contained in the listed directories
# (and subdirectories). Uncomment and set the directory as needed.
#- url: /client
# static_dir: client
# This handler tells app engine how to route requests to a WSGI application.
# The script value is in the format <path.to.module>.<wsgi_application>
# where <wsgi_application> is a WSGI application object.
- url: /tables/.*
script: api.app
# Third party libraries that are included in the App Engine SDK must be listed
# here if you want to use them. See
# https://developers.google.com/appengine/docs/python/tools/libraries27 for
# a list of libraries included in the SDK. Third party libs that are *not* part
# of the App Engine SDK don't need to be listed here, instead add them to your
# project directory, either as a git submodule or as a plain subdirectory.
# TODO: List any other App Engine SDK libs you may need here.
#libraries:
#- name: jinja2
# version: latest
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/appengine_config.py
================================================
"""`appengine_config` gets loaded when starting a new application instance."""
import vendor
# insert `lib` as a site directory so our `main` module can load
# third-party libraries, and override built-ins with newer
# versions.
vendor.add('lib')
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/requirements.txt
================================================
# This requirements file lists all third-party dependencies for this project.
#
# Run 'pip install -r requirements.txt -t lib/' to install these dependencies
# in `lib/` subdirectory.
#
# Note: The `lib` directory is added to `sys.path` by `appengine_config.py`.
Flask==0.10
geojson
git+git://github.com/geomet/geomet.git
sqlparse
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/static/js/cloudsql-json-api.js
================================================
// Create a namespace
var google = google || {};
/**
* Namespace for the cloudsql library.
*/
google.cloudsql = google.cloudsql || {};
/**
* A helper class to simplify calling a CloudSQL REST API.
* @param {string} database The name of the database to use.
* @constructor
*/
google.cloudsql.CloudSqlJsonApi = function(database) {
this.database = database;
this.featuresCallbacks = $.Callbacks();
this.pipCallbacks = $.Callbacks();
};
/**
* Get features from CloudSQL that match the query parameters.
* @param {string} table The table that stores the features to query for.
* @param {Object} args An object with additional fields, these are converted to
* query parameters in the request.
* @param {{function(Object)}} callback This function is called when the server
* responds, and given the response.
*/
google.cloudsql.CloudSqlJsonApi.prototype.featuresList = function(
table, args, callback) {
var encodedArgs = $.param(args);
this.FeaturesCallbacks.add(callback);
var encodedIdentifier = encodeURIComponent(this.database) + ':' +
encodeURIComponent(table);
var url = '/tables/' + encodedIdentifier + '/features?' +
encoded_args;
var self = this;
$.getJSON(url, function(response) {
self.featuresCallbacks.fire(response);
self.featuresCallbacks.remove(callback);
})
.fail(function(jqXHR, errorJson) {
alert(errorJson.error);
});
};
/**
* Get features from CloudSQL that intersect with the given coordinate.
* @param {string} table The table that stores the features to query for.
* @param {string} select A MySQL select statement that is passed to the server.
* @param {google.maps.LatLng} location The query point as a google.maps.LatLng
* @param {{function(Object)}} callback This function is called when the server
* responds, and given the response.
*/
google.cloudsql.CloudSqlJsonApi.prototype.pointInPolygon = function(
table, select, location, callback) {
var args = {
lat: location.lat(),
lng: location.lng(),
select: select
};
var encodedArgs = $.param(args);
this.pipCallbacks.add(callback);
var encodedIdentifier = encodeURIComponent(this.database) + ':' +
encodeURIComponent(table);
var url = '/pip/' + encodedIdentifier + '?' + encodedArgs;
var self = this;
$.getJSON(url, function(response) {
self.pipCallbacks.fire(response);
self.pipCallbacks.remove(callback);
})
.fail(function(jqXHR, errorJson) {
alert(errorJson.error);
});
};
================================================
FILE: demos/CloudSQL/cloudsql-geojson-api/vendor.py
================================================
#
# Copyright 2014 Jon Wayne Parrott, [proppy], Michael R. Bernstein
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Notes:
# - Imported from https://github.com/jonparrott/Darth-Vendor/.
# - Added license header.
# - Renamed `darth.vendor` to `vendor.add` to match upcoming SDK interface.
# - Renamed `position` param to `index` to match upcoming SDK interface.
# - Removed funny arworks docstring.
import site
import os.path
import sys
def add(folder, index=1):
"""
Adds the given folder to the python path. Supports namespaced packages.
By default, packages in the given folder take precedence over site-packages
and any previous path manipulations.
Args:
folder: Path to the folder containing packages, relative to ``os.getcwd()``
position: Where in ``sys.path`` to insert the vendor packages. By default
this is set to 1. It is inadvisable to set it to 0 as it will override
any modules in the current working directory.
"""
# Check if the path contains a virtualenv.
site_dir = os.path.join(folder, 'lib', 'python' + sys.version[:3], 'site-packages')
if os.path.exists(site_dir):
folder = site_dir
# Otherwise it's just a normal path, make it absolute.
else:
folder = os.path.join(os.path.dirname(__file__), folder)
# Use site.addsitedir() because it appropriately reads .pth
# files for namespaced packages. Unfortunately, there's not an
# option to choose where addsitedir() puts its paths in sys.path
# so we have to do a little bit of magic to make it play along.
# We're going to grab the current sys.path and split it up into
# the first entry and then the rest. Essentially turning
# ['.', '/site-packages/x', 'site-packages/y']
# into
# ['.'] and ['/site-packages/x', 'site-packages/y']
# The reason for this is we want '.' to remain at the top of the
# list but we want our vendor files to override everything else.
sys.path, remainder = sys.path[:1], sys.path[1:]
# Now we call addsitedir which will append our vendor directories
# to sys.path (which was truncated by the last step.)
site.addsitedir(folder)
# Finally, we'll add the paths we removed back.
# The final product is something like this:
# ['.', '/vendor-folder', /site-packages/x', 'site-packages/y']
sys.path.extend(remainder)
================================================
FILE: demos/CloudSQL/cloudsql-maps-api/index.html
================================================
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body,
html,
#map-canvas {
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script src="//maps.googleapis.com/maps/api/js">
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script src="js/cloudsql-json-api.js"></script>
<script src="js/gmaps.js"></script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
================================================
FILE: demos/CloudSQL/cloudsql-maps-api/js/gmaps.js
================================================
var map = null;
var marker = null;
var infowindow = new google.maps.InfoWindow();
var latlng = null;
var activePolygons = [];
// This helper library makes it easy to call the AppEngine application
var cloudSqlApi = new google.cloudsql.CloudSqlJsonApi('nyc');
/**
* Initializes the map and sets up a click handler that will call CLoudSQL.
*/
function initialize() {
var mapOptions = {
center: { lat: 40.68, lng: -74.0273},
zoom: 11
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
// Adds a listener to the map click event.
google.maps.event.addListener(map, 'click', function(event) {
infowindow.close();
placeMarker(event.latLng);
latlng = event.latLng;
var lat = latlng.lat();
var lng = latlng.lng();
// Get the polygon that contains the clicked point.
cloudSqlApi.pointInPolygon('nyczones', 'zone',
latlng, function(geojson) {
if (geojson.features.length == 0) {
alert('Point is not in Polygon in CloudSQL Database');
return;
}
map.data.forEach(function(feature) {
map.data.remove(feature);
});
var features = map.data.addGeoJson(geojson);
map.data.addListener('click', handlePolygonClick);
activePolygons = [];
for (i in features) {
activePolygons.push(features[i].getId());
}
map.data.setStyle(function(feature) {
var color = 'black';
var clickable = false;
if ($.inArray(feature.getId(), activePolygons) > -1) {
color = 'blue';
clickable = true;
}
return {
fillColor: color,
strokeColor: color,
fillOpacity: 0.2,
clickable: clickable
};
});
});
});
}
/**
* Creates a new marker at the given point and removes the old one.
* @param {google.maps.LatLng} location The location to place the marker on.
*/
function placeMarker(location) {
if (marker) {
marker.setMap(null);
}
marker = new google.maps.Marker({
position: location,
map: map
});
}
/**
* Open an infowindow on the clicked polygon, on the marker.
* @param {google.maps.Data.MouseEvent} event The click event.
*/
function handlePolygonClick(event) {
console.log('polygon was clicked');
var content = $('<p>');
$('<strong>').text('Properties').appendTo(content);
content.append('<br>');
event.feature.forEachProperty(function(v, k) {
content.append('<strong>' + k + '</strong>: ' + v).append('<br>');
});
infowindow.setContent(content.html());
infowindow.setPosition(latlng);
infowindow.open(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
================================================
FILE: demos/CloudSQL/cloudsql-store-locator/cloudsql-datasource.js
================================================
// Copyright 2014 Google Inc.
/**
* @author Wolf Bergenheim (Google)
* @fileoverview
* Provides access to store data through Google Cloud SQL.
* Depends on the cloudsql REST API
* https://github.com/google/maps-for-work-samples
*/
/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A DataFeed where stores are provided by Google Cloud SQL.
* <p>
* Note: the App Engine that serves the API needs to be publicly accessible.
* @example <pre>
* var dataFeed = new storeLocator.CloudSqlDataFeed({
* table: 'medicare',
* database: 'medicare',
* server: 'http://project-wander-1.appspot.com',
* propertiesModifier: function(props) {
* return {
* id: transformId(props.OGR_FID),
* title: props.fcility_nam
* };
* }
* });
* new storeLocator.View(map, dataFeed);
* </pre>
* @implements storeLocator.DataFeed
* @param {!storeLocator.CloudSqlDataFeedOptions} opts the table ID, API key and
* a transformation function for feature/store properties.
* @constructor
* @implements storeLocator_CloudSqlDataFeed
*/
storeLocator.CloudSqlDataFeed = function(opts) {
this.database_ = opts['database'];
this.table_ = opts['table'];
this.server_ = opts['server'];
if (opts['propertiesModifier']) {
this.propertiesModifier_ = opts['propertiesModifier'];
}
};
storeLocator['CloudSqlDataFeed'] = storeLocator.CloudSqlDataFeed;
/**
* Returns the stores inside the given bounds.
* @param {google.maps.LatLngBounds} bounds
* @param {storeLocator.FeatureSet} features the features to filter on.
* Unused
* @param {function(Array.<!storeLocator.Store>)} callback the callback
* function.
*/
storeLocator.CloudSqlDataFeed.prototype.getStores = function(
bounds, features, callback) {
// TODO: use features.
var that = this;
var center = bounds.getCenter();
// 0.18 is 20000/111045 which is approximately 20 km expressed in degrees
var where = '(ST_INTERSECTS(geometry, ' + this.boundsToWkt_(bounds) + ')' +
' OR ST_DISTANCE(geometry, ' + this.latLngToWkt_(center) + ') < 0.18)';
var select = 'uuid,fcilty_nam,fcilty_typ,state,street_add,' +
'locality,postcode,hrs_of_bus,wheelchair,shp_num_an,shp_centre';
var encodedIdentifier = encodeURIComponent(this.database_) + ':' +
encodeURIComponent(this.table_);
var url = this.server_ + '/tables/' + encodedIdentifier + '/features?';
$.getJSON(url, {
'select': select,
'where': where,
'limit': 300
}, function(resp) {
var stores = that.parse_(resp);
that.sortByDistance_(center, stores);
callback(stores);
});
};
/**
* @private
* @param {!google.maps.LatLng} point
* @return {string}
*/
storeLocator.CloudSqlDataFeed.prototype.latLngToWkt_ = function(point) {
return "ST_GEOMFROMTEXT('POINT(" + point.lng() + ' ' + point.lat() + ")')";
};
/**
* @private
* @param {!google.maps.LatLngBounds} bounds
* @return {string}
*/
storeLocator.CloudSqlDataFeed.prototype.boundsToWkt_ = function(bounds) {
var ne = bounds.getNorthEast();
var sw = bounds.getSouthWest();
return [
"ST_GEOMFROMTEXT('POLYGON ((",
sw.lng(), ' ', sw.lat(), ', ',
ne.lng(), ' ', sw.lat(), ', ',
ne.lng(), ' ', ne.lat(), ', ',
sw.lng(), ' ', ne.lat(), ', ',
sw.lng(), ' ', sw.lat(),
"))')"
].join('');
};
/**
* @private
* @param {*} data GeoJSON feature set.
* @return {!Array.<!storeLocator.Store>}
*/
storeLocator.CloudSqlDataFeed.prototype.parse_ = function(data) {
if (data['error']) {
window.alert(data['error']['message']);
return [];
}
var features = data['features'];
if (!features) {
return [];
}
var stores = [];
for (var i = 0, row; row = features[i]; i++) {
var coordinates = row['geometry']['coordinates'];
var position = new google.maps.LatLng(coordinates[1], coordinates[0]);
var props = this.propertiesModifier_(row['properties']);
var store = new storeLocator.Store(props['id'], position, null, props);
stores.push(store);
}
return stores;
};
/**
* Default properties modifier. Just returns the same properties passed into
* it. Useful if the columns in the DB table are already appropriate.
* @private
* @param {Object} props
* @return {Object} an Object to be passed into the "props" argument in the
* Store constructor.
*/
storeLocator.CloudSqlDataFeed.prototype.propertiesModifier_ = function(props) {
return props;
};
/**
* Sorts a list of given stores by distance from a point in ascending order.
* Directly manipulates the given array (has side effects).
* @private
* @param {google.maps.LatLng} latLng the point to sort from.
* @param {!Array.<!storeLocator.Store>} stores the stores to sort.
*/
storeLocator.CloudSqlDataFeed.prototype.sortByDistance_ =
function(latLng, stores) {
stores.sort(function(a, b) {
return a.distanceTo(latLng) - b.distanceTo(latLng);
});
};
/**
* @example see storeLocator.CloudSqlDataFeed
* @interface
*/
storeLocator.CloudSqlDataFeedOptions = function() {};
/**
* The table name to use.
* @type string
*/
storeLocator.CloudSqlDataFeedOptions.prototype.table;
/**
* The database to use
* @type string
*/
storeLocator.CloudSqlDataFeedOptions.prototype.database;
/**
* The host name of the server that hosts the Cloud SQL GeoJSON API.
* @type string
*/
storeLocator.CloudSqlDataFeedOptions.prototype.server;
/**
* A transformation function. The first argument is the feature's properties.
* Return an object useful for the <code>"props"</code> argument in the
* storeLocator.Store constructor. The default properties modifier
* function passes the feature straight through.
* <p>
* Note: storeLocator.CloudSqlDataFeed expects an <code>"id"</code> property.
* @type ?(function(Object): Object)
*/
storeLocator.CloudSqlDataFeedOptions.prototype.propertiesModifier;
================================================
FILE: demos/CloudSQL/cloudsql-store-locator/cloudsql.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Store locator with Panel</title>
<script
src="https://maps.googleapis.com/maps/api/js?libraries=places"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js">
</script>
<script src="js/store-locator.min.js"></script>
<script src="js/cloudsql-datasource.js"></script>
<script src="js/cloudsql.js"></script>
<link rel="stylesheet" href="css/storelocator.css">
<style>
body { font-family: sans-serif; }
#map-canvas, #panel { height: 500px; }
#panel { width: 300px; float: left; margin-right: 10px; }
p.attribution, p.attribution a { color: #666; }
</style>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12846745-20']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<h1>Medicare offices</h1>
<div id="panel"></div>
<div id="map-canvas"></div>
<p class="attribution">Medicare location data from <a href="http://data.gov.au/66">data.gov.au</a>, licensed under <a href="http://creativecommons.org/licenses/by/2.5/au/">CC-BY 2.5</a></p>
</body>
</html>
================================================
FILE: demos/CloudSQL/cloudsql-store-locator/cloudsql.js
================================================
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(-28, 135),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var panelDiv = document.getElementById('panel');
var data = new storeLocator.CloudSqlDataFeed({
database: 'medicare',
table: 'medicare',
server: '',
propertiesModifier: function(props) {
var shop = join([props.shp_num_an, props.shp_centre], ', ');
var locality = join([props.locality, props.postcode], ', ');
return {
id: props.uuid,
title: props.fcilty_nam,
address: join([shop, props.street_add, locality], '<br>'),
hours: props.hrs_of_bus
};
}
});
var view = new storeLocator.View(map, data, {
geolocation: false
});
new storeLocator.Panel(panelDiv, {
view: view
});
});
/**
* Joins elements of an array that are non-empty and non-null.
* @private
* @param {!Array} arr array of elements to join.
* @param {string} sep the separator.
* @return {string}
*/
function join(arr, sep) {
var parts = [];
for (var i = 0, ii = arr.length; i < ii; i++) {
arr[i] && parts.push(arr[i]);
}
return parts.join(sep);
}
================================================
FILE: samples/GEE/gee_maps_polyline_sample.html
================================================
<!DOCTYPE html>
<!--
Copyright 2014 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Symbols on polylines</title>
<link href="http://your_gee_server/examples/maps/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://your_gee_server/maps/api/bootstrap_loader.js"></script>
<script type="text/javascript" src="http://your_gee_server/maps/api/fusion_map_obj_v3.js"></script>
<script type="text/javascript" src="http://your_gee_server/default_map/query?request=Json&var=geeServerDefs"></script>
<script type="text/javascript">
var geemap, timer;
var offset = {};
var dotted, dashed, tracks, barometric, chevrons;
var unlock = false;
function initialize() {
var myOptions = {
zoom: 2,
center: new google.maps.LatLng(0,0),
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
backgroundColor: 'white',
zoomControl: false,
streetViewControl: false,
panControl: false,
styles: [
{
stylers: [
{ visibility: "off" }
]
},{
featureType: "water",
stylers: [
{ visibility: "on" }
]
},{
featureType: "administrative.province",
elementType: "geometry",
stylers: [
{ visibility: "on" }
]
},{
featureType: "administrative.country",
elementType: "geometry",
stylers: [
{ visibility: "on" }
]
},{
featureType: "water",
elementType: "labels",
stylers: [
{ visibility: "off" }
]
}
]
};
// map = new google.maps.Map(document.getElementById('map'), myOptions);
geemap = new GFusionMap("map_canvas", geeServerDefs, myOptions);
dotted = new google.maps.Polyline({
path: [
new google.maps.LatLng(45, -80),
new google.maps.LatLng(-45, 80)
],
geodesic: true,
strokeOpacity: 0.0,
icons: [{
icon: {
path: 'M 2,-5 2,5 3.5, 2',
strokeOpacity: 1,
},
offset: '50%'
},{
icon: {
path: 'M -2,5 -2,-5 -3.5,-2',
strokeOpacity: 1,
},
offset: '50%'
},{
icon: {
path: 'M -.5,-.5 .5,-.5, .5,.5 -.5,.5',
fillOpacity: 1,
fillColor: 'blue'
},
repeat: '6px'
}],
map: map,
});
tracks = new google.maps.Polyline({
path: [
new google.maps.LatLng(50, -80),
new google.maps.LatLng(-40, 80)
],
geodesic: true,
strokeOpacity: 1.0,
strokeWeight: 1.0,
icons: [{
icon: {
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
strokeColor: 'black',
strokeOpacity: 1.0,
strokeWeight: 1.0,
fillColor: 'yellow',
fillOpacity: 1.0,
scale: 4
},
repeat: '10%',
offset: '5%'
}],
map: map,
});
dashed = new google.maps.Polyline({
path: [
new google.maps.LatLng(40, -80),
new google.maps.LatLng(-50, 80)
],
geodesic: true,
strokeOpacity: 0.0,
strokeColor: 'yellow',
icons: [{
icon: {
path: 'M 0,-2 0,2',
strokeColor: 'red',
strokeOpacity: 1.0,
},
repeat: '24px'
}],
map: map,
});
barometric = new google.maps.Polyline({
path: [
new google.maps.LatLng(47, -80),
new google.maps.LatLng(-43, 80)
],
geodesic: true,
strokeOpacity: 1.0,
icons: [{
icon: {
path: 'M 0,-2 A 2,2 0 0 0 0,2 z',
fillColor: 'blue',
fillOpacity: 1,
strokeWeight: 1,
strokeColor: 'black',
strokeOpacity: 1.0,
scale: 6
},
offset: '0',
repeat: '48px'
}, {
icon: {
path: 'M 0,-2 A 2,2 0 0 1 0,2 z',
fillColor: 'red',
fillOpacity: 1,
strokeWeight: 1,
strokeColor: 'black',
strokeOpacity: 1.0,
scale: 6
},
offset: '24px',
repeat: '48px'
}],
map: map,
});
chevrons = new google.maps.Polyline({
path: [
new google.maps.LatLng(43, -80),
new google.maps.LatLng(-47, 80)
],
geodesic: true,
strokeOpacity: 0.0,
icons: [{
icon: {
path: 'M -1,1 0,0 1,1',
strokeOpacity: 1,
strokeWeight: 1.5,
scale: 6
},
repeat: '10px'
}],
map: map,
});
offset = {
'dotted': 0,
'tracks': 0,
'dashed': 0,
'darrow0': 50,
'darrow1': 50,
'barometric0': 0,
'barometric1': 24,
'chevrons': 0
}
google.maps.event.addListener(geemap.map, 'mouseout', stop);
google.maps.event.addListener(geemap.map, 'tilesloaded', function() {
unlock = true;
});
}
function start() {
if (unlock) {
document.getElementById("lightbox").style.display = "none";
document.getElementById("msg").style.display = "none";
timer = setInterval(function() {
animateBarometric();
animateChevrons();
animateDashed();
animateDotted();
animateTracks();
}, 20);
}
}
function stop() {
clearInterval(timer);
document.getElementById("lightbox").style.display = "block";
document.getElementById("msg").style.display = "block";
}
function animateDotted() {
if (offset['dotted'] == 5) {
offset['dotted'] = 0;
} else {
offset['dotted']++;
}
if (offset['darrow0'] == 100) {
offset['darrow0'] = 0;
} else {
offset['darrow0']++;
}
if (offset['darrow1'] == 0) {
offset['darrow1'] = 100;
} else {
offset['darrow1']--;
}
var icons = dotted.get('icons');
icons[0].offset = offset['darrow1'] + '%';
icons[1].offset = offset['darrow0'] + '%';
icons[2].offset = offset['dotted'] + 'px';
dotted.set('icons', icons);
}
function animateTracks() {
if (offset['tracks'] == 9) {
offset['tracks'] = 0;
} else {
offset['tracks']++;
}
var icons = tracks.get('icons');
icons[0].offset = offset['tracks'] + '%';
tracks.set('icons', icons);
}
function animateDashed() {
if (offset['dashed'] > 23) {
offset['dashed'] = 0;
} else {
offset['dashed'] += 2;
}
var icons = dashed.get('icons');
icons[0].offset = offset['dashed'] + 'px';
dashed.set('icons', icons);
}
function animateBarometric() {
if (offset['barometric0'] == 47) {
offset['barometric0'] = 0;
} else {
offset['barometric0']++;
}
if (offset['barometric1'] == 0) {
offset['barometric1'] = 47;
} else {
offset['barometric1']--;
}
var icons = barometric.get('icons');
icons[0].offset = offset['barometric0'] + 'px';
icons[1].offset = offset['barometric1'] + 'px';
barometric.set('icons', icons);
}
function animateChevrons() {
if (offset['chevrons'] == 9) {
offset['chevrons'] = 0;
} else {
offset['chevrons']++;
}
var icons = chevrons.get('icons');
icons[0].offset = offset['chevrons'] + 'px';
chevrons.set('icons', icons);
}
</script>
<style>
body {
background-color: white;
margin: 0;
padding: 0;
position: absolute;
}
#map_canvas {
width: 598px;
height: 478px;
position: absolute;
background-color: white;
border: 1px solid black;
}
#msg {
position: absolute;
font-size: 30px;
font-family: sans-serif;
text-shadow: 0.1em 0.1em 0.2em black;
color: #d0d0ff;
top: 200px;
width: 600px;
text-align: center;
}
#lightbox {
width: 600px;
height: 480px;
background-color: #ffffff;
opacity: 0.8;
}
</style>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
<div id="lightbox" onmouseover="start()"></div>
<div id="msg">Mouse over the map to view</div>
</body>
</html>
================================================
FILE: samples/maps/OpenWeatherMapLayer/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Weather layer</title>
<style>
html, body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#map-canvas {
width: 100%;
height: 100%;
}
.gm-style-iw {
text-align: center;
}
</style>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js">
</script>
<script>
var map;
var geoJSON;
var request;
var gettingData = false;
var openWeatherMapKey = "ABC..."
function initialize() {
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(50,-50)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// Add interaction listeners to make weather requests
google.maps.event.addListener(map, 'idle', checkIfDataRequested);
// Sets up and populates the info window with details
map.data.addListener('click', function(event) {
infowindow.setContent(
"<img src=" + event.feature.getProperty("icon") + ">"
+ "<br /><strong>" + event.feature.getProperty("city") + "</strong>"
+ "<br />" + event.feature.getProperty("temperature") + "°C"
+ "<br />" + event.feature.getProperty("weather")
);
infowindow.setOptions({
position:{
lat: event.latLng.lat(),
lng: event.latLng.lng()
},
pixelOffset: {
width: 0,
height: -15
}
});
infowindow.open(map);
});
}
var checkIfDataRequested = function() {
// Stop extra requests being sent
while (gettingData === true) {
request.abort();
gettingData = false;
}
getCoords();
};
// Get the coordinates from the Map bounds
var getCoords = function() {
var bounds = map.getBounds();
var NE = bounds.getNorthEast();
var SW = bounds.getSouthWest();
getWeather(NE.lat(), NE.lng(), SW.lat(), SW.lng());
};
// Make the weather request
var getWeather = function(northLat, eastLng, southLat, westLng) {
gettingData = true;
var requestString = "http://api.openweathermap.org/data/2.5/box/city?bbox="
+ westLng + "," + northLat + "," //left top
+ eastLng + "," + southLat + "," //right bottom
+ map.getZoom()
+ "&cluster=yes&format=json"
+ "&APPID=" + openWeatherMapKey;
request = new XMLHttpRequest();
request.onload = proccessResults;
request.open("get", requestString, true);
request.send();
};
// Take the JSON results and proccess them
var proccessResults = function() {
console.log(this);
var results = JSON.parse(this.responseText);
if (results.list.length > 0) {
resetData();
for (var i = 0; i < results.list.length; i++) {
geoJSON.features.push(jsonToGeoJson(results.list[i]));
}
drawIcons(geoJSON);
}
};
var infowindow = new google.maps.InfoWindow();
// For each result that comes back, convert the data to geoJSON
var jsonToGeoJson = function (weatherItem) {
var feature = {
type: "Feature",
properties: {
city: weatherItem.name,
weather: weatherItem.weather[0].main,
temperature: weatherItem.main.temp,
min: weatherItem.main.temp_min,
max: weatherItem.main.temp_max,
humidity: weatherItem.main.humidity,
pressure: weatherItem.main.pressure,
windSpeed: weatherItem.wind.speed,
windDegrees: weatherItem.wind.deg,
windGust: weatherItem.wind.gust,
icon: "http://openweathermap.org/img/w/"
+ weatherItem.weather[0].icon + ".png",
coordinates: [weatherItem.coord.Lon, weatherItem.coord.Lat]
},
geometry: {
type: "Point",
coordinates: [weatherItem.coord.Lon, weatherItem.coord.Lat]
}
};
// Set the custom marker icon
map.data.setStyle(function(feature) {
return {
icon: {
url: feature.getProperty('icon'),
anchor: new google.maps.Point(25, 25)
}
};
});
// returns object
return feature;
};
// Add the markers to the map
var drawIcons = function (weather) {
map.data.addGeoJson(geoJSON);
// Set the flag to finished
gettingData = false;
};
// Clear data layer and geoJSON
var resetData = function () {
geoJSON = {
type: "FeatureCollection",
features: []
};
map.data.forEach(function(feature) {
map.data.remove(feature);
});
};
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/A1.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/A1.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
-179.9979166667
89.9979166667
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/A2.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/A2.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
-179.9979166667
-0.0020833333
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/B1.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/B1.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
-89.9979166667
89.9979166667
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/B2.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/B2.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
-89.9979166667
-0.0020833333
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/BuildBlueMarble.sh
================================================
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
ls *.jpg > FileList
echo "Creating Resource Resources/Imagery/BlueMarble"
genewimageryresource -o Resources/Imagery/BlueMarble --flat --nomask --filelist FileList
sleep 2
echo "Building Resource Resources/Imagery/BlueMarble"
gebuild Resources/Imagery/BlueMarble
echo "Creating Resource Resources/Imagery/BlueMarbleMercator"
genewimageryresource -o Resources/Imagery/BlueMarbleMercator --mercator --nomask --filelist FileList
sleep 2
echo "Building Resource Resources/Imagery/BlueMarbleMercator"
gebuild Resources/Imagery/BlueMarbleMercator
geaddtoimageryproject -o Projects/Imagery Resources/Imagery/BlueMarble
geaddtoimageryproject -o Projects/Mercator --mercator Resources/Imagery/BlueMarbleMercator
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/C1.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/C1.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
0.0020833333
89.9979166667
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/C2.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/C2.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
0.0020833333
-0.0020833333
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/D1.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/D1.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
90.0020833333
89.9979166667
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/D2.prj
================================================
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/D2.tfw
================================================
0.0041666667
0.0000000000
0.0000000000
-0.0041666667
90.0020833333
-0.0020833333
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/FetchBlueMarble.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
wget -O A1.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.A1.jpg
wget -O A2.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.A2.jpg
wget -O B1.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.B1.jpg
wget -O B2.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.B2.jpg
wget -O C1.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.C1.jpg
wget -O C2.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.C2.jpg
wget -O D1.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.D1.jpg
wget -O D2.jpg http://mirrors.arsc.edu/nasa/world_500m/world.topo.bathy.200407.3x21600x21600.D2.jpg
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/buildtruemarble250.sh
================================================
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
blue_base=`pwd`
for file in `find . -name "*.gz"`
do
base=`basename $file`
dir=`dirname $file`
echo "Unzipping $base in $dir"
cd $dir
gunzip $base
cd $blue_base
done
cd $dir
ls *.tif > FileList
echo "Creating Resource Resources/Imagery/BlueMarble250"
genewimageryresource -o Resources/Imagery/BlueMarble250 --flat --nomask --filelist FileList
sleep 2
echo "Building Resource Resources/Imagery/BlueMarble250"
gebuild Resources/Imagery/BlueMarble250
echo "Creating Resource Resources/Imagery/BlueMarbleMercator250"
genewimageryresource -o Resources/Imagery/BlueMarbleMercator250 --mercator --nomask --filelist FileList
sleep 2
echo "Building Resource Resources/Imagery/BlueMarbleMercator250"
gebuild Resources/Imagery/BlueMarbleMercator250
geaddtoimageryproject -o Projects/Imagery Resources/Imagery/BlueMarble250
geaddtoimageryproject -o Projects/Mercator --mercator Resources/Imagery/BlueMarbleMercator250
cd $blue_base
================================================
FILE: tools/GEE/BuildTheBaseGlobe/Imagery/fetchtruemarble250.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.A1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.A2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.A3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.A4.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.B1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.B2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.B3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.B4.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.C1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.C2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.C3.tif.gz
# wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.C4.tif.gz Seems to be corrupt
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.D1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.D2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.D3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.D4.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.E1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.E2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.E3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.E4.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.F1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.F2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.F3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.F4.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.G1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.G2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.G3.tif.gz
# wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.G4.tif.gz Seems to be corrupt
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.H1.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.H2.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.H3.tif.gz
wget -nH -x http://129.123.16.127/globe/TrueMarble_GeoTIFF/TrueMarble.250m.21600x21600.H4.tif.gz
================================================
FILE: tools/GEE/BuildTheBaseGlobe/RunMeFirst.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This script is part of the larger effort to build a base globe using Google Earth Enterprise
# This script in particular creates empty databases and projects that will be used later.
# It should be run first, before the other scripts are run. Alternately, the Fusion GUI can be
# used to create these projects and databases.
#
#
# This script will create the projects and the database. They
# will be empty but the subsequent resources will be added
# to them.
#
#
genewimageryproject -o Projects/Imagery
genewvectorproject -o Projects/Vector
genewterrainproject -o Projects/Terrain
genewmapproject -o Projects/Map
genewimageryproject -o Projects/Mercator --mercator
genewdatabase -o Databases/GoogleEarth --imagery Projects/Imagery --vector Projects/Vector --terrain Projects/Terrain
genewmapdatabase -o Databases/GoogleMap --imagery Projects/Imagery --map Projects/Map
genewmapdatabase -o Databases/GoogleMap --imagery Projects/Mercator --map Projects/Map --mercator
================================================
FILE: tools/GEE/BuildTheBaseGlobe/terrain/BuildEtopoData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
echo "Creating new terrain resource Resources/Terrain/ETOPO_1km"
genewterrainresource -o Resources/Terrain/ETOPO_1km --nomask ETOPO1_Ice_g.tif
echo "Building the terrain resource"
gebuild Resources/Terrain/ETOPO_1km
echo "Creating new project Projects/Terrain/ETOPO_1km"
geaddtoterrainproject -o Projects/Terrain Resources/Terrain/ETOPO_1km
echo "Building the terrain projects"
gebuild Projects/Terrain
================================================
FILE: tools/GEE/BuildTheBaseGlobe/terrain/FetchEtopoData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
echo "fetching ETOPO1_Ice_g_geotiff"
wget ftp://ftp.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/ice_surface/grid_registered/georeferenced_tiff/ETOPO1_Ice_g_geotiff.zip
echo "extracting ETOPO1_Ice_g_geotiff.zip"
unzip ETOPO1_Ice_g_geotiff.zip
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/BuildBorders.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
echo "Creating Resources/Vector/Borders/StateBorders"
echo "Creating Resources/Vector/Borders/InternationalBorders"
echo "Creating Resources/Vector/Borders/LowRezShoreline"
echo "Creating Resources/Vector/Borders/HiRezShoreline"
genewvectorresource -o Resources/Vector/Borders/StateBorders statesp020.shp
genewvectorresource -o Resources/Vector/Borders/InternationalBorders TM_WORLD_BORDERS-0.3.shp
genewvectorresource -o Resources/Vector/Borders/LowRezShoreline GSHHS_shp/l/GSHHS_l_L1.shp GSHHS_shp/l/GSHHS_l_L2.shp
genewvectorresource -o Resources/Vector/Borders/HiRezShoreline GSHHS_shp/h/GSHHS_h_L1.shp GSHHS_shp/h/GSHHS_h_L2.shp
gebuild Resources/Vector/Borders/StateBorders
gebuild Resources/Vector/Borders/InternationalBorders
gebuild Resources/Vector/Borders/LowRezShoreline
gebuild Resources/Vector/Borders/HiRezShoreline
cat<<EndOfDoc
You have added the following resources and they are building:
Resources/Vector/Borders/StateBorders
Resources/Vector/Borders/InternationalBorders
Resources/Vector/Borders/LowRezShoreline
Resources/Vector/Borders/HiRezShoreline
Once they are done building, you will need to run the following commands:
geaddtovectorproject -o Projects/Vector --template InternationalBorders.khdsp Resources/Vector/Borders/InternationalBorders
geaddtovectorproject -o Projects/Vector --template StateBorders.khdsp Resources/Vector/Borders/StateBorders
geaddtovectorproject -o Projects/Vector --template LowRezShoreline.khdsp Resources/Vector/Borders/LowRezShoreline
geaddtovectorproject -o Projects/Vector --template HiRezShoreline.khdsp Resources/Vector/Borders/HiRezShoreline
EndOfDoc
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/BuildCloudmadeRoads.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
for continent in africa asia europe north_america oceania south_america
do
find $continent -name "*highway.shp" > ListOfHighways
genewvectorresource -o Resources/Vector/Roads/OSM/$continent/highway --encoding "ISO 8859-1" --filelist ListOfHighways
sleep 5
gebuild Resources/Vector/Roads/OSM/$continent/highway
done
echo "*************************************************************************************"
echo "**"
echo "** once the resources are done building, you can hit return to finish adding OSM Roads"
echo "** Keep an eye on the task manager, or run getop to see the build progress"
echo " "
echo -n "Hit return when they are finished ->"
read text
for continent in africa asia europe north_america oceania south_america
do
geaddtovectorproject -o Projects/Vector --template ${continent}_highway.khdsp Resources/Vector/Roads/OSM/$continent/highway
done
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/BuildNamesData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
genewvectorresource -o Resources/Vector/Names/GeonamesAllCities allCountries.txt
gebuild Resources/Vector/Names/GeonamesAllCities
cat<<EndOfDoc
You just added a resource called Resources/Vector/Names/GeonamesAllCities
It will take a little while to build. Once it is done, you need to run the
following commands to add the data to the vector project:
geaddtovectorproject -o Projects/Vector --template StateNames.khdsp Resources/Vector/Names/GeonamesAllCities
geaddtovectorproject -o Projects/Vector --template world_cities.khdsp Resources/Vector/Names/GeonamesAllCities
EndOfDoc
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/FetchBordersData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
wget http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip
wget http://dds.cr.usgs.gov/pub/data/nationalatlas/statesp020.tar.gz
wget http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhs/version2.0/shapefiles/gshhs_shp_2.0.zip
tar zxvf statesp020.tar.gz
unzip TM_WORLD_BORDERS-0.3.zip
unzip gshhs_shp_2.0.zip
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/FetchNamesData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
wget http://download.geonames.org/export/dump/allCountries.zip
unzip allCountries.zip
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/FetchOSM.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Fetch all of the OpenStreetmap non-USA roads data from Cloudmade.com. USA data will be fetched from US Census.
#
# If you want USA data from OSM, just do a wget -r http://downloads.cloudmade.com/north_america/united_states
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/sudan/sudan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/botswana/botswana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/burundi/burundi.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/sierra_leone/sierra_leone.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/kenya/kenya.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/equatorial_guinea/equatorial_guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/namibia/namibia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/ghana/ghana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/seychelles/seychelles.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/morocco/morocco.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/cameroon/cameroon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/juan_de_nova_island/juan_de_nova_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/glorioso_islands/glorioso_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/lesotho/lesotho.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/benin/benin.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/chad/chad.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/togo/togo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/egypt/egypt.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/somalia/somalia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/sao_tome_and_principe/sao_tome_and_principe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/guinea/guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/comoros/comoros.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/cape_verde/cape_verde.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/cote_d_ivoire/cote_d_ivoire.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/uganda/uganda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/zambia/zambia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/algeria/algeria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/mali/mali.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/western_sahara/western_sahara.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/malawi/malawi.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/reunion/reunion.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/eritrea/eritrea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mauritius/mauritius.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/madagascar/madagascar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/angola/angola.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/tunisia/tunisia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/mauritania/mauritania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/tanzania/tanzania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/libya/libya.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/nigeria/nigeria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/burkina_faso/burkina_faso.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/swaziland/swaziland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/djibouti/djibouti.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/senegal/senegal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/saint_helena/saint_helena.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/niger/niger.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/central_african_republic/central_african_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/guinea-bissau/guinea-bissau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mayotte/mayotte.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/gambia/gambia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/rwanda/rwanda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/zimbabwe/zimbabwe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/ethiopia/ethiopia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/gabon/gabon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/south_africa/south_africa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/democratic_republic_of_the_congo/democratic_republic_of_the_congo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mozambique/mozambique.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/liberia/liberia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/antarctica/antarctica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/french_southern_territories/french_southern_territories.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/heard_island_and_mcdonald_islands/heard_island_and_mcdonald_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/bouvet_island/bouvet_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/south_georgia_and_the_south_sandwich_islands/south_georgia_and_the_south_sandwich_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/iraq/iraq.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/hong_kong/hong_kong.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/laos/laos.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/turkmenistan/turkmenistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/pakistan/pakistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/turkey/turkey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/yemen/yemen.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/gaza_strip/gaza_strip.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/japan/japan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/south_korea/south_korea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/iran/iran.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/mongolia/mongolia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/paracel_islands/paracel_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/northern_asia/russia/russia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/lebanon/lebanon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/vietnam/vietnam.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/spratly_islands/spratly_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/bangladesh/bangladesh.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/united_arab_emirates/united_arab_emirates.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/kyrgyzstan/kyrgyzstan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/taiwan/taiwan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/oman/oman.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/kazakhstan/kazakhstan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/thailand/thailand.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/myanmar/myanmar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/nepal/nepal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/christmas_island/christmas_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/israel/israel.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/syria/syria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/india/india.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/malaysia/malaysia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/kuwait/kuwait.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/tajikistan/tajikistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/bhutan/bhutan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/uzbekistan/uzbekistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/bahrain/bahrain.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/macao/macao.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/cambodia/cambodia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/brunei/brunei.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/east_timor/east_timor.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/maldives/maldives.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/british_indian_ocean_territory/british_indian_ocean_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/north_korea/north_korea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/china/china.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/saudi_arabia/saudi_arabia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/singapore/singapore.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/sri_lanka/sri_lanka.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/indonesia/indonesia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/afghanistan/afghanistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/philippines/philippines.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/qatar/qatar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/jordan/jordan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/armenia/armenia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/azerbaijan/azerbaijan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/caspian_sea/caspian_sea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/cyprus/cyprus.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/georgia/georgia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/palestina/palestina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/europe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/belarus/belarus.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/bulgaria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/czech_republic/czech_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/hungary/hungary.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/moldova/moldova.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/poland/poland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/romania/romania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/slovakia/slovakia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/ukraine/ukraine.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/aland/aland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/denmark/denmark.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/estonia/estonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/faroe_islands/faroe_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/finland/finland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/iceland/iceland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/latvia/latvia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/lithuania/lithuania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/norway/norway.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/svalbard_and_jan_mayen/svalbard_and_jan_mayen.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/united_kingdom/united_kingdom.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/sweden/sweden.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/albania/albania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/andorra/andorra.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/bosnia_and_herzegovina/bosnia_and_herzegovina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/croatia/croatia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/gibraltar/gibraltar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/greece/greece.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/italy/italy.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/kosovo/kosovo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/macedonia/macedonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/malta/malta.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/montenegro/montenegro.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/portugal/portugal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/san_marino/san_marino.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/serbia/serbia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/slovenia/slovenia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/spain/spain.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/vatican_city/vatican_city.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/austria/austria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/belgium/belgium.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/france/france.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/germany/germany.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/guernsey/guernsey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/isle_of_man/isle_of_man.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/jersey/jersey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/liechtenstein/liechtenstein.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/luxembourg/luxembourg.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/monaco/monaco.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/netherlands/netherlands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/switzerland/switzerland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/anguilla/anguilla.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/antigua_and_barbuda/antigua_and_barbuda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/aruba/aruba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/bahamas/bahamas.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/barbados/barbados.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/british_virgin_islands/british_virgin_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/cayman_islands/cayman_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/cuba/cuba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/dominica/dominica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/dominican_republic/dominican_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/grenada/grenada.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/guadeloupe/guadeloupe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/haiti/haiti.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/jamaica/jamaica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/martinique/martinique.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/montserrat/montserrat.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/netherlands_antilles/netherlands_antilles.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/puerto_rico/puerto_rico.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_kitts_and_nevis/saint_kitts_and_nevis.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_lucia/saint_lucia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_vincent_and_the_grenadines/saint_vincent_and_the_grenadines.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/trinidad_and_tobago/trinidad_and_tobago.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/turks_and_caicos_islands/turks_and_caicos_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/virgin_islands_us/virgin_islands_us.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/belize/belize.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/clipperton_island/clipperton_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/costa_rica/costa_rica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/el_salvador/el_salvador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/guatemala/guatemala.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/honduras/honduras.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/nicaragua/nicaragua.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/panama/panama.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/bermuda/bermuda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/alberta/alberta.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/british_columbia/british_columbia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/manitoba/manitoba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/new_brunswick/new_brunswick.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/newfoundland_and_labrador/newfoundland_and_labrador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/northwest_territories/northwest_territories.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/nova_scotia/nova_scotia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/nunavut/nunavut.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/ontario/ontario.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/prince_edward_island/prince_edward_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/quebec/quebec.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/saskatchewan/saskatchewan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/yukon/yukon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/greenland/greenland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/mexico/mexico.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/saint_pierre_and_miquelon/saint_pierre_and_miquelon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/argentina/argentina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/bolivia/bolivia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/brazil/brazil.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/chile/chile.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/colombia/colombia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/ecuador/ecuador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/falkland_islands/falkland_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/french_guiana/french_guiana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/guyana/guyana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/paraguay/paraguay.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/peru/peru.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/suriname/suriname.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/uruguay/uruguay.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/venezuela/venezuela.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/ashmore_and_cartier_islands/ashmore_and_cartier_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/australian_capital_territory/australian_capital_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/coral_sea_islands/coral_sea_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/new_south_wales/new_south_wales.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/northern_territory/northern_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/queensland/queensland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/south_australia/south_australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/tasmania/tasmania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/victoria/victoria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/western_australia/western_australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/cocos_islands/cocos_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/new_zealand/new_zealand.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/norfolk_island/norfolk_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/fiji/fiji.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/new_caledonia/new_caledonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/papua_new_guinea/papua_new_guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/solomon_islands/solomon_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/vanuatu/vanuatu.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/guam/guam.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/kiribati/kiribati.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/marshall_islands/marshall_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/nauru/nauru.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/northern_mariana_islands/northern_mariana_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/palau/palau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/american_samoa/american_samoa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/cook_islands/cook_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/french_polynesia/french_polynesia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/niue/niue.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/pitcairn_islands/pitcairn_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/samoa/samoa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tokelau/tokelau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tonga/tonga.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tuvalu/tuvalu.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/wallis_and_futuna/wallis_and_futuna.shapefiles.zip
OSM_base=`pwd`
for file in `find . -name "*.zip"`
do
base=`basename $file`
dir=`dirname $file`
echo "Unzipping $base in $dir"
cd $dir
unzip $base
cd $OSM_base
done
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/HiRezShoreline.khdsp
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<LayerConfig>
<channelId>7</channelId>
<assetRef>Resources/Vector/Borders/HiRezShoreline.kvasset</assetRef>
<legend>Borders and Labels|Borders</legend>
<lodForce/>
<displayRules>
<displayRule>
<name>default select all</name>
<feature>
<style>
<id>1</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>127</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>1</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label></label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>13</maxLevel>
<featureType>PolygonZ</featureType>
<minLevel>7</minLevel>
<drawAsRoads>0</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>OutlineOnly</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>15</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
<selectRules/>
<matchScript></matchScript>
</filter>
</displayRule>
</displayRules>
<preserveTextLevel>24</preserveTextLevel>
<allowFeatureDuplication>0</allowFeatureDuplication>
<isVisible>1</isVisible>
<isEnabled>1</isEnabled>
<isExpandable>1</isExpandable>
<asset_uuid>9c7c63da-7fb6-11df-991e-75e5df0d60ba</asset_uuid>
<defaultLocale config_version="1">
<name useDefault="0">Shoreline</name>
<icon useDefault="0">
<type>Internal</type>
<href>773</href>
</icon>
<labels useDefault="0">
<label>0</label>
</labels>
<is_checked useDefault="0">0</is_checked>
<desc useDefault="0"></desc>
<look_at useDefault="0"></look_at>
<kml_layer_url useDefault="0"></kml_layer_url>
<required_client_version useDefault="0"></required_client_version>
<required_client_vram useDefault="0"></required_client_vram>
<probability useDefault="0"></probability>
<save_locked useDefault="0">1</save_locked>
<required_user_agent useDefault="0"></required_user_agent>
<required_client_capabilities useDefault="0"></required_client_capabilities>
<client_config_script_name useDefault="0"></client_config_script_name>
<diorama_data_channel_base useDefault="0">-1</diorama_data_channel_base>
</defaultLocale>
<locales/>
<layerContextScript></layerContextScript>
<allowEmptyLayer>0</allowEmptyLayer>
<skipLayer>0</skipLayer>
<searchFields/>
<meta/>
<searchStyle></searchStyle>
</LayerConfig>
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/InternationalBorders.khdsp
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<LayerConfig>
<channelId>8</channelId>
<assetRef>Resources/Vector/Borders/InternationalBorders.kvasset</assetRef>
<legend>Borders and Labels|Borders</legend>
<lodForce/>
<displayRules>
<displayRule>
<name>default select all</name>
<feature>
<style>
<id>2</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>0</lineColor_element>
<lineColor_element>180</lineColor_element>
</lineColor>
<lineWidth>1</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label></label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>9</maxLevel>
<featureType>PolygonZ</featureType>
<minLevel>4</minLevel>
<drawAsRoads>0</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>OutlineOnly</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>15</maxBuildLevel>
</feature>
<site>
<enabled>1</enabled>
<style>
<id>3</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
</lineColor>
<lineWidth>1</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label>«NAME»</label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>0</normalColor_element>
<normalColor_element>180</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<position>AreaCenter</position>
<centerLabel>0</centerLabel>
<enablePopup>0</enablePopup>
<maxLevel>8</maxLevel>
<maxQuadCount>100</maxQuadCount>
<minLevel>5</minLevel>
<popupText></popupText>
<decimationMode>MaxFit</decimationMode>
<suppressDuplicateSites>0</suppressDuplicateSites>
<minQuadCount>0</minQuadCount>
<decimationRatio>0.5</decimationRatio>
<popupTextMode>Original</popupTextMode>
<balloonText></balloonText>
<balloonBgColor>
<balloonBgColor_element>255</balloonBgColor_element>
<balloonBgColor_element>255</balloonBgColor_element>
<balloonBgColor_element>255</balloonBgColor_element>
<balloonBgColor_element>255</balloonBgColor_element>
</balloonBgColor>
<balloonFgColor>
<balloonFgColor_element>0</balloonFgColor_element>
<balloonFgColor_element>0</balloonFgColor_element>
<balloonFgColor_element>0</balloonFgColor_element>
<balloonFgColor_element>255</balloonFgColor_element>
</balloonFgColor>
<balloonStyleMode>Basic</balloonStyleMode>
<balloonInsertHeader>0</balloonInsertHeader>
<balloonInsertDirections>0</balloonInsertDirections>
</site>
<filter>
<match>MatchAll</match>
<selectRules/>
<matchScript></matchScript>
</filter>
</displayRule>
</displayRules>
<preserveTextLevel>24</preserveTextLevel>
<allowFeatureDuplication>0</allowFeatureDuplication>
<isVisible>1</isVisible>
<isEnabled>1</isEnabled>
<isExpandable>1</isExpandable>
<asset_uuid>98021c8c-7fb6-11df-9389-75e5df0d60ba</asset_uuid>
<defaultLocale config_version="1">
<name useDefault="0">International Borders</name>
<icon useDefault="0">
<type>Internal</type>
<href>773</href>
</icon>
<labels useDefault="0">
<label>0</label>
</labels>
<is_checked useDefault="0">0</is_checked>
<desc useDefault="0"></desc>
<look_at useDefault="0"></look_at>
<kml_layer_url useDefault="0"></kml_layer_url>
<required_client_version useDefault="0"></required_client_version>
<required_client_vram useDefault="0"></required_client_vram>
<probability useDefault="0"></probability>
<save_locked useDefault="0">1</save_locked>
<required_user_agent useDefault="0"></required_user_agent>
<required_client_capabilities useDefault="0"></required_client_capabilities>
<client_config_script_name useDefault="0"></client_config_script_name>
<diorama_data_channel_base useDefault="0">-1</diorama_data_channel_base>
</defaultLocale>
<locales/>
<layerContextScript></layerContextScript>
<allowEmptyLayer>0</allowEmptyLayer>
<skipLayer>0</skipLayer>
<searchFields/>
<meta/>
<searchStyle></searchStyle>
</LayerConfig>
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/LowRezShoreline.khdsp
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<LayerConfig>
<channelId>9</channelId>
<assetRef>Resources/Vector/Borders/LowRezShoreline.kvasset</assetRef>
<legend>Borders and Labels|Borders</legend>
<lodForce/>
<displayRules>
<displayRule>
<name>Shoreline</name>
<feature>
<style>
<id>4</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>127</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>1</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label></label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>7</maxLevel>
<featureType>PolygonZ</featureType>
<minLevel>4</minLevel>
<drawAsRoads>0</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>OutlineOnly</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>9</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>1</fieldNum>
<rvalue>1</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</displayRule>
<displayRule>
<name>Lakes</name>
<feature>
<style>
<id>5</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>127</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>1</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label></label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>7</maxLevel>
<featureType>PolygonZ</featureType>
<minLevel>6</minLevel>
<drawAsRoads>0</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>OutlineOnly</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>9</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>1</fieldNum>
<rvalue>2</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</displayRule>
</displayRules>
<preserveTextLevel>24</preserveTextLevel>
<allowFeatureDuplication>0</allowFeatureDuplication>
<isVisible>1</isVisible>
<isEnabled>1</isEnabled>
<isExpandable>1</isExpandable>
<asset_uuid>8cd38828-7fb6-11df-84ce-75e5df0d60ba</asset_uuid>
<defaultLocale config_version="1">
<name useDefault="0">Shoreline (Low Rez)</name>
<icon useDefault="0">
<type>Internal</type>
<href>773</href>
</icon>
<labels useDefault="0">
<label>0</label>
</labels>
<is_checked useDefault="0">0</is_checked>
<desc useDefault="0"></desc>
<look_at useDefault="0"></look_at>
<kml_layer_url useDefault="0"></kml_layer_url>
<required_client_version useDefault="0"></required_client_version>
<required_client_vram useDefault="0"></required_client_vram>
<probability useDefault="0"></probability>
<save_locked useDefault="0">1</save_locked>
<required_user_agent useDefault="0"></required_user_agent>
<required_client_capabilities useDefault="0"></required_client_capabilities>
<client_config_script_name useDefault="0"></client_config_script_name>
<diorama_data_channel_base useDefault="0">-1</diorama_data_channel_base>
</defaultLocale>
<locales/>
<layerContextScript></layerContextScript>
<allowEmptyLayer>0</allowEmptyLayer>
<skipLayer>0</skipLayer>
<searchFields/>
<meta/>
<searchStyle></searchStyle>
</LayerConfig>
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/2D_OSM_Highways_Only.kmdsp
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<MapSubLayerConfig>
<asset_ref>Resources/Vector/OSM/africa/highways.kvasset</asset_ref>
<display_rules>
<display_rule>
<name>motorway</name>
<feature>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="160" b="127" g="170" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="7"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>motorway</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
<display_rule>
<name>motorway_link</name>
<feature>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="160" b="127" g="170" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="7"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>motorway_link</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
<display_rule>
<name>trunk</name>
<feature>
<label>
<enabled>1</enabled>
<levelRange max="14" min="8"/>
<hasOutlineLabel>0</hasOutlineLabel>
<text mode="RecordFormatter">«NAME»</text>
<outlineText mode="RecordFormatter"></outlineText>
<textStyle>
<font>Sans</font>
<weight>Regular</weight>
<size>12</size>
<color a="255" b="0" g="0" r="0"/>
<drawOutline>1</drawOutline>
<outlineThickness>4</outlineThickness>
<outlineColor a="255" b="255" g="255" r="255"/>
</textStyle>
</label>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="180" b="127" g="255" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="7"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>trunk</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
<display_rule>
<name>trunk_link</name>
<feature>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="160" b="127" g="170" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="7"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>trunk_link</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
<display_rule>
<name>primary</name>
<feature>
<label>
<enabled>1</enabled>
<levelRange max="14" min="8"/>
<hasOutlineLabel>0</hasOutlineLabel>
<text mode="RecordFormatter">«NAME»</text>
<outlineText mode="RecordFormatter"></outlineText>
<textStyle>
<font>Sans</font>
<weight>Regular</weight>
<size>12</size>
<color a="255" b="0" g="0" r="0"/>
<drawOutline>1</drawOutline>
<outlineThickness>4</outlineThickness>
<outlineColor a="255" b="255" g="255" r="255"/>
</textStyle>
</label>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="180" b="127" g="255" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="10"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>primary</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
<display_rule>
<name>secondary tertiary</name>
<feature>
<label>
<enabled>1</enabled>
<levelRange max="14" min="8"/>
<hasOutlineLabel>0</hasOutlineLabel>
<text mode="RecordFormatter">«NAME»</text>
<outlineText mode="RecordFormatter"></outlineText>
<textStyle>
<font>Sans</font>
<weight>Regular</weight>
<size>12</size>
<color a="255" b="0" g="0" r="0"/>
<drawOutline>1</drawOutline>
<outlineThickness>4</outlineThickness>
<outlineColor a="255" b="255" g="255" r="255"/>
</textStyle>
</label>
<displayType>LineZ</displayType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<fill_color a="255" b="255" g="255" r="255"/>
<stroke_color a="180" b="127" g="255" r="255"/>
<stroke_width>2</stroke_width>
<levelRange max="13" min="12"/>
<drawAsRoads>0</drawAsRoads>
<pointMarker>Circle</pointMarker>
<pointWidth>4</pointWidth>
<pointHeight>4</pointHeight>
<isPointLabelEnabled>0</isPointLabelEnabled>
<isMarkerResizerEnabled>0</isMarkerResizerEnabled>
<labelPositionRelativeToPoint>TopRight</labelPositionRelativeToPoint>
</feature>
<filter>
<match>MatchAny</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>secondary</rvalue>
</selectRule>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>tertiary</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</display_rule>
</display_rules>
<allowFeatureDuplication>0</allowFeatureDuplication>
<contextScript></contextScript>
<searchFields/>
<allowEmptyLayer>0</allowEmptyLayer>
</MapSubLayerConfig>
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/BuildCloudmadeRoads.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
for continent in africa asia europe north_america oceania south_america
do
find $continent -name "*highway.shp" > ListOfHighways
genewvectorresource -o Resources/Vector/Roads/OSM/$continent/highway --encoding "ISO 8859-1" --filelist ListOfHighways
sleep 5
gebuild Resources/Vector/Roads/OSM/$continent/highway
done
echo "*************************************************************************************"
echo "**"
echo "** once the resources are done building, you can hit return to finish adding OSM Roads"
echo "** Keep an eye on the task manager, or run getop to see the build progress"
echo " "
echo -n "Hit return when they are finished ->"
read text
for continent in africa asia europe north_america oceania south_america
do
geaddtovectorproject -o Projects/Vector --template ${continent}_highway.khdsp Resources/Vector/Roads/OSM/$continent/highway
done
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/FetchOSMData.sh
================================================
#!/bin/sh
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Fetch all of the OpenStreetmap non-USA roads data from Cloudmade.com. USA data will be fetched from US Census.
#
# If you want USA data from OSM, just do a wget -r http://downloads.cloudmade.com/north_america/united_states
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/sudan/sudan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/botswana/botswana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/burundi/burundi.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/sierra_leone/sierra_leone.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/kenya/kenya.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/equatorial_guinea/equatorial_guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/namibia/namibia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/ghana/ghana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/seychelles/seychelles.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/morocco/morocco.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/cameroon/cameroon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/juan_de_nova_island/juan_de_nova_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/glorioso_islands/glorioso_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/lesotho/lesotho.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/benin/benin.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/chad/chad.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/togo/togo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/egypt/egypt.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/somalia/somalia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/sao_tome_and_principe/sao_tome_and_principe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/guinea/guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/comoros/comoros.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/cape_verde/cape_verde.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/cote_d_ivoire/cote_d_ivoire.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/uganda/uganda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/zambia/zambia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/algeria/algeria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/mali/mali.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/western_sahara/western_sahara.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/malawi/malawi.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/reunion/reunion.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/eritrea/eritrea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mauritius/mauritius.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/madagascar/madagascar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/angola/angola.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/tunisia/tunisia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/mauritania/mauritania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/tanzania/tanzania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/northern_africa/libya/libya.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/nigeria/nigeria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/burkina_faso/burkina_faso.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/swaziland/swaziland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/djibouti/djibouti.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/senegal/senegal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/saint_helena/saint_helena.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/niger/niger.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/central_african_republic/central_african_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/guinea-bissau/guinea-bissau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mayotte/mayotte.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/gambia/gambia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/rwanda/rwanda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/zimbabwe/zimbabwe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/ethiopia/ethiopia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/gabon/gabon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/southern_africa/south_africa/south_africa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/middle_africa/democratic_republic_of_the_congo/democratic_republic_of_the_congo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/eastern_africa/mozambique/mozambique.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/africa/western_africa/liberia/liberia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/antarctica/antarctica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/french_southern_territories/french_southern_territories.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/heard_island_and_mcdonald_islands/heard_island_and_mcdonald_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/bouvet_island/bouvet_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/antartica/antartica/south_georgia_and_the_south_sandwich_islands/south_georgia_and_the_south_sandwich_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/iraq/iraq.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/hong_kong/hong_kong.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/laos/laos.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/turkmenistan/turkmenistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/pakistan/pakistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/turkey/turkey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/yemen/yemen.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/gaza_strip/gaza_strip.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/japan/japan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/south_korea/south_korea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/iran/iran.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/mongolia/mongolia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/paracel_islands/paracel_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/northern_asia/russia/russia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/lebanon/lebanon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/vietnam/vietnam.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/spratly_islands/spratly_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/bangladesh/bangladesh.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/united_arab_emirates/united_arab_emirates.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/kyrgyzstan/kyrgyzstan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/taiwan/taiwan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/oman/oman.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/kazakhstan/kazakhstan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/thailand/thailand.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/myanmar/myanmar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/nepal/nepal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/christmas_island/christmas_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/israel/israel.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/syria/syria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/india/india.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/malaysia/malaysia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/kuwait/kuwait.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/tajikistan/tajikistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/bhutan/bhutan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/central_asia/uzbekistan/uzbekistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/bahrain/bahrain.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/macao/macao.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/cambodia/cambodia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/brunei/brunei.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/east_timor/east_timor.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/maldives/maldives.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/british_indian_ocean_territory/british_indian_ocean_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/north_korea/north_korea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/eastern_asia/china/china.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/saudi_arabia/saudi_arabia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/singapore/singapore.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/sri_lanka/sri_lanka.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/indonesia/indonesia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/southern_asia/afghanistan/afghanistan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/south-eastern_asia/philippines/philippines.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/qatar/qatar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/jordan/jordan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/armenia/armenia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/azerbaijan/azerbaijan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/caspian_sea/caspian_sea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/cyprus/cyprus.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/georgia/georgia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/asia/western_asia/palestina/palestina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/europe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/belarus/belarus.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/bulgaria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/czech_republic/czech_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/hungary/hungary.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/moldova/moldova.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/poland/poland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/romania/romania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/slovakia/slovakia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/eastern_europe/ukraine/ukraine.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/aland/aland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/denmark/denmark.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/estonia/estonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/faroe_islands/faroe_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/finland/finland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/iceland/iceland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/latvia/latvia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/lithuania/lithuania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/norway/norway.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/svalbard_and_jan_mayen/svalbard_and_jan_mayen.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/united_kingdom/united_kingdom.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/northern_europe/sweden/sweden.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/albania/albania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/andorra/andorra.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/bosnia_and_herzegovina/bosnia_and_herzegovina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/croatia/croatia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/gibraltar/gibraltar.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/greece/greece.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/italy/italy.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/kosovo/kosovo.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/macedonia/macedonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/malta/malta.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/montenegro/montenegro.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/portugal/portugal.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/san_marino/san_marino.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/serbia/serbia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/slovenia/slovenia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/spain/spain.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/southern_europe/vatican_city/vatican_city.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/austria/austria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/belgium/belgium.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/france/france.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/germany/germany.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/guernsey/guernsey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/isle_of_man/isle_of_man.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/jersey/jersey.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/liechtenstein/liechtenstein.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/luxembourg/luxembourg.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/monaco/monaco.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/netherlands/netherlands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/europe/western_europe/switzerland/switzerland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/anguilla/anguilla.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/antigua_and_barbuda/antigua_and_barbuda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/aruba/aruba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/bahamas/bahamas.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/barbados/barbados.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/british_virgin_islands/british_virgin_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/cayman_islands/cayman_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/cuba/cuba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/dominica/dominica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/dominican_republic/dominican_republic.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/grenada/grenada.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/guadeloupe/guadeloupe.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/haiti/haiti.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/jamaica/jamaica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/martinique/martinique.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/montserrat/montserrat.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/netherlands_antilles/netherlands_antilles.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/puerto_rico/puerto_rico.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_kitts_and_nevis/saint_kitts_and_nevis.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_lucia/saint_lucia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/saint_vincent_and_the_grenadines/saint_vincent_and_the_grenadines.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/trinidad_and_tobago/trinidad_and_tobago.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/turks_and_caicos_islands/turks_and_caicos_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/caribbean/virgin_islands_us/virgin_islands_us.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/belize/belize.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/clipperton_island/clipperton_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/costa_rica/costa_rica.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/el_salvador/el_salvador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/guatemala/guatemala.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/honduras/honduras.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/nicaragua/nicaragua.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/central_america/panama/panama.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/bermuda/bermuda.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/alberta/alberta.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/british_columbia/british_columbia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/manitoba/manitoba.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/new_brunswick/new_brunswick.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/newfoundland_and_labrador/newfoundland_and_labrador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/northwest_territories/northwest_territories.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/nova_scotia/nova_scotia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/nunavut/nunavut.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/ontario/ontario.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/prince_edward_island/prince_edward_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/quebec/quebec.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/saskatchewan/saskatchewan.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/canada/yukon/yukon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/greenland/greenland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/mexico/mexico.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/northern_america/saint_pierre_and_miquelon/saint_pierre_and_miquelon.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/argentina/argentina.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/bolivia/bolivia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/brazil/brazil.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/chile/chile.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/colombia/colombia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/ecuador/ecuador.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/falkland_islands/falkland_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/french_guiana/french_guiana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/guyana/guyana.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/paraguay/paraguay.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/peru/peru.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/suriname/suriname.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/uruguay/uruguay.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/americas/south_america/venezuela/venezuela.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/ashmore_and_cartier_islands/ashmore_and_cartier_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/australian_capital_territory/australian_capital_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/coral_sea_islands/coral_sea_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/new_south_wales/new_south_wales.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/northern_territory/northern_territory.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/queensland/queensland.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/south_australia/south_australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/tasmania/tasmania.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/victoria/victoria.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/australia/western_australia/western_australia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/cocos_islands/cocos_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/new_zealand/new_zealand.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/australia_and_new_zealand/norfolk_island/norfolk_island.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/fiji/fiji.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/new_caledonia/new_caledonia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/papua_new_guinea/papua_new_guinea.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/solomon_islands/solomon_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/melanesia/vanuatu/vanuatu.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/guam/guam.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/kiribati/kiribati.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/marshall_islands/marshall_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/nauru/nauru.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/northern_mariana_islands/northern_mariana_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/micronesia/palau/palau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/american_samoa/american_samoa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/cook_islands/cook_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/french_polynesia/french_polynesia.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/niue/niue.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/pitcairn_islands/pitcairn_islands.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/samoa/samoa.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tokelau/tokelau.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tonga/tonga.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/tuvalu/tuvalu.shapefiles.zip
wget -nH -x http://downloads.cloudmade.com/oceania/polynesia/wallis_and_futuna/wallis_and_futuna.shapefiles.zip
OSM_base=`pwd`
for file in `find . -name "*.zip"`
do
base=`basename $file`
dir=`dirname $file`
echo "Unzipping $base in $dir"
cd $dir
unzip $base
cd $OSM_base
done
================================================
FILE: tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/GenericOSMHighwayTemplate.khdsp
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<LayerConfig>
<channelId>54</channelId>
<assetRef>Resources/Vector/OSM/africa/highways.kvasset</assetRef>
<legend></legend>
<lodForce/>
<displayRules>
<displayRule>
<name>motorway</name>
<feature>
<style>
<id>393</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>209</lineColor_element>
<lineColor_element>129</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>2</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label>«NAME»</label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>16</maxLevel>
<featureType>LineZ</featureType>
<minLevel>7</minLevel>
<drawAsRoads>1</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>18</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>motorway</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</displayRule>
<displayRule>
<name>motorway link</name>
<feature>
<style>
<id>394</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>209</lineColor_element>
<lineColor_element>129</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>2</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label></label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>16</maxLevel>
<featureType>LineZ</featureType>
<minLevel>13</minLevel>
<drawAsRoads>0</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>18</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
<selectRules>
<selectRule>
<op>Equal</op>
<fieldNum>0</fieldNum>
<rvalue>motorway_link</rvalue>
</selectRule>
</selectRules>
<matchScript></matchScript>
</filter>
</displayRule>
<displayRule>
<name>trunk</name>
<feature>
<style>
<id>395</id>
<polyColor>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
<polyColor_element>255</polyColor_element>
</polyColor>
<lineColor>
<lineColor_element>255</lineColor_element>
<lineColor_element>255</lineColor_element>
<lineColor_element>127</lineColor_element>
<lineColor_element>150</lineColor_element>
</lineColor>
<lineWidth>2</lineWidth>
<altitudeMode>ClampToGround</altitudeMode>
<extrude>0</extrude>
<enableCustomHeight>0</enableCustomHeight>
<customHeightVariableName></customHeightVariableName>
<customHeightOffset>0</customHeightOffset>
<customHeightScale>1</customHeightScale>
<icon>
<type>Internal</type>
<href>771</href>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
</icon>
<label>
<label>«NAME»</label>
<reformat>0</reformat>
<normalColor>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
<normalColor_element>255</normalColor_element>
</normalColor>
<highlightColor>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
<highlightColor_element>255</highlightColor_element>
</highlightColor>
<normalScale>1</normalScale>
<highlightScale>1</highlightScale>
<labelMode>Original</labelMode>
</label>
</style>
<maxLevel>16</maxLevel>
<featureType>LineZ</featureType>
<minLevel>7</minLevel>
<drawAsRoads>1</drawAsRoads>
<roadLabelType>Label</roadLabelType>
<polygonDrawMode>FillAndOutline</polygonDrawMode>
<maxError>0.5</maxError>
<maxBuildLevel>18</maxBuildLevel>
</feature>
<filter>
<match>MatchAll</match>
gitextract_0ly565b8/
├── .gitignore
├── LICENSE
├── README.md
├── demos/
│ └── CloudSQL/
│ ├── cloudsql-geojson-api/
│ │ ├── CONTRIB.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── api.py
│ │ ├── app.yaml
│ │ ├── appengine_config.py
│ │ ├── requirements.txt
│ │ ├── static/
│ │ │ └── js/
│ │ │ └── cloudsql-json-api.js
│ │ └── vendor.py
│ ├── cloudsql-maps-api/
│ │ ├── index.html
│ │ └── js/
│ │ └── gmaps.js
│ └── cloudsql-store-locator/
│ ├── cloudsql-datasource.js
│ ├── cloudsql.html
│ └── cloudsql.js
├── samples/
│ ├── GEE/
│ │ └── gee_maps_polyline_sample.html
│ └── maps/
│ └── OpenWeatherMapLayer/
│ └── index.html
└── tools/
└── GEE/
└── BuildTheBaseGlobe/
├── Imagery/
│ ├── A1.prj
│ ├── A1.tfw
│ ├── A2.prj
│ ├── A2.tfw
│ ├── B1.prj
│ ├── B1.tfw
│ ├── B2.prj
│ ├── B2.tfw
│ ├── BuildBlueMarble.sh
│ ├── C1.prj
│ ├── C1.tfw
│ ├── C2.prj
│ ├── C2.tfw
│ ├── D1.prj
│ ├── D1.tfw
│ ├── D2.prj
│ ├── D2.tfw
│ ├── FetchBlueMarble.sh
│ ├── buildtruemarble250.sh
│ └── fetchtruemarble250.sh
├── RunMeFirst.sh
├── terrain/
│ ├── BuildEtopoData.sh
│ └── FetchEtopoData.sh
└── vector/
├── BuildBorders.sh
├── BuildCloudmadeRoads.sh
├── BuildNamesData.sh
├── FetchBordersData.sh
├── FetchNamesData.sh
├── FetchOSM.sh
├── HiRezShoreline.khdsp
├── InternationalBorders.khdsp
├── LowRezShoreline.khdsp
├── OpenStreetmap/
│ ├── 2D_OSM_Highways_Only.kmdsp
│ ├── BuildCloudmadeRoads.sh
│ ├── FetchOSMData.sh
│ ├── GenericOSMHighwayTemplate.khdsp
│ ├── africa_highway.khdsp
│ ├── asia_highway.khdsp
│ ├── europe_highway.khdsp
│ ├── north_america_highway.khdsp
│ ├── oceania_highway.khdsp
│ ├── south_america/
│ │ └── unzip_south_america.sh
│ └── south_america_highway.khdsp
├── StateBorders.khdsp
├── StateNames.khdsp
├── TigerLineRoads/
│ ├── 1_FetchTigerLineData.sh
│ ├── 2D_Tiger_Roads_Template.kmdsp
│ ├── 2D_Tigerline_Highways_only.kmdsp
│ ├── 2_UnzipEdgeFiles.sh
│ ├── 3_CreateTigerResources.sh
│ ├── 4_BuildTigerResources.sh
│ ├── 5_AddTigerResourcesToProject.sh
│ ├── ALABAMA.khdsp
│ ├── ALASKA.khdsp
│ ├── ARIZONA.khdsp
│ ├── ARKANSAS.khdsp
│ ├── CALIFORNIA.khdsp
│ ├── COLORADO.khdsp
│ ├── CONNECTICUT.khdsp
│ ├── DELAWARE.khdsp
│ ├── DISTRICT_OF_COLUMBIA.khdsp
│ ├── FLORIDA.khdsp
│ ├── GEORGIA.khdsp
│ ├── HAWAII.khdsp
│ ├── IDAHO.khdsp
│ ├── ILLINOIS.khdsp
│ ├── INDIANA.khdsp
│ ├── IOWA.khdsp
│ ├── KANSAS.khdsp
│ ├── KENTUCKY.khdsp
│ ├── LOUISIANA.khdsp
│ ├── MAINE.khdsp
│ ├── MARYLAND.khdsp
│ ├── MASSACHUSETTS.khdsp
│ ├── MICHIGAN.khdsp
│ ├── MINNESOTA.khdsp
│ ├── MISSISSIPPI.khdsp
│ ├── MISSOURI.khdsp
│ ├── MONTANA.khdsp
│ ├── NEBRASKA.khdsp
│ ├── NEVADA.khdsp
│ ├── NEW_HAMPSHIRE.khdsp
│ ├── NEW_JERSEY.khdsp
│ ├── NEW_MEXICO.khdsp
│ ├── NEW_YORK.khdsp
│ ├── NORTH_CAROLINA.khdsp
│ ├── NORTH_DAKOTA.khdsp
│ ├── OHIO.khdsp
│ ├── OKLAHOMA.khdsp
│ ├── OREGON.khdsp
│ ├── PENNSYLVANIA.khdsp
│ ├── RHODE_ISLAND.khdsp
│ ├── SOUTH_CAROLINA.khdsp
│ ├── SOUTH_DAKOTA.khdsp
│ ├── TENNESSEE.khdsp
│ ├── TEXAS.khdsp
│ ├── Tiger2009_road_display_rules.khdsp
│ ├── TigerLine2D2009HighwaysOnly.kmdsp
│ ├── TigerLineRoads.khdsp
│ ├── TigerLineRoadsHighwaysOnly.khdsp
│ ├── UTAH.khdsp
│ ├── VERMONT.khdsp
│ ├── VIRGINIA.khdsp
│ ├── WASHINGTON.khdsp
│ └── WEST_VIRGINIA.khdsp
├── allCountries.kdx
├── usa_state_names.khdsp
└── world_cities.khdsp
SYMBOL INDEX (17 symbols across 4 files)
FILE: demos/CloudSQL/cloudsql-geojson-api/api.py
function do_features_list (line 62) | def do_features_list(database, table):
function do_pip (line 100) | def do_pip(database, table):
function page_not_found (line 136) | def page_not_found(_):
function internal_error (line 142) | def internal_error(_):
class Features (line 147) | class Features(object):
method __init__ (line 153) | def __init__(self, instance, database):
method _connect (line 167) | def _connect(self):
method __del__ (line 178) | def __del__(self):
method list (line 182) | def list(self, table, select, where, limit=None, order_by=None):
class PointInPolygon (line 271) | class PointInPolygon(object):
method __init__ (line 277) | def __init__(self, instance, database, table):
method pip (line 288) | def pip(self, lat, lng, fields):
FILE: demos/CloudSQL/cloudsql-geojson-api/vendor.py
function add (line 29) | def add(folder, index=1):
FILE: demos/CloudSQL/cloudsql-maps-api/js/gmaps.js
function initialize (line 12) | function initialize() {
function placeMarker (line 68) | function placeMarker(location) {
function handlePolygonClick (line 82) | function handlePolygonClick(event) {
FILE: demos/CloudSQL/cloudsql-store-locator/cloudsql.js
function join (line 43) | function join(arr, sep) {
Condensed preview — 127 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,531K chars).
[
{
"path": ".gitignore",
"chars": 14,
"preview": "*~\n\\#*\\#\n.\\#*\n"
},
{
"path": "LICENSE",
"chars": 11358,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 538,
"preview": "This repository contains samples, demos and tools relating to the\nGoogle Maps APIs and related enterprise products, like"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/CONTRIB.md",
"chars": 1602,
"preview": "# How to become a contributor and submit your own code\n\n## Contributor License Agreements\n\nWe'd love to accept your samp"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/LICENSE",
"chars": 11357,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/README.md",
"chars": 2232,
"preview": "## Python CloudSQL Query Library for Google App Engine\n\nA demonstration on how to use appengine for building a geospatia"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/api.py",
"chars": 11214,
"preview": "# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/app.yaml",
"chars": 1497,
"preview": "# This file specifies your Python application's runtime configuration\n# including URL routing, versions, static file upl"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/appengine_config.py",
"chars": 247,
"preview": "\"\"\"`appengine_config` gets loaded when starting a new application instance.\"\"\"\nimport vendor\n# insert `lib` as a site di"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/requirements.txt",
"chars": 331,
"preview": "# This requirements file lists all third-party dependencies for this project.\n#\n# Run 'pip install -r requirements.txt -"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/static/js/cloudsql-json-api.js",
"chars": 2493,
"preview": "// Create a namespace\nvar google = google || {};\n/**\n * Namespace for the cloudsql library.\n */\ngoogle.cloudsql = google"
},
{
"path": "demos/CloudSQL/cloudsql-geojson-api/vendor.py",
"chars": 2812,
"preview": "#\n# Copyright 2014 Jon Wayne Parrott, [proppy], Michael R. Bernstein\n#\n# Licensed under the Apache License, Version 2.0 "
},
{
"path": "demos/CloudSQL/cloudsql-maps-api/index.html",
"chars": 507,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <style type=\"text/css\">\n body,\n html,\n #map-canvas {\n height: "
},
{
"path": "demos/CloudSQL/cloudsql-maps-api/js/gmaps.js",
"chars": 2704,
"preview": "var map = null;\nvar marker = null;\nvar infowindow = new google.maps.InfoWindow();\nvar latlng = null;\nvar activePolygons "
},
{
"path": "demos/CloudSQL/cloudsql-store-locator/cloudsql-datasource.js",
"chars": 6343,
"preview": "// Copyright 2014 Google Inc.\n\n/**\n * @author Wolf Bergenheim (Google)\n * @fileoverview\n * Provides access to store data"
},
{
"path": "demos/CloudSQL/cloudsql-store-locator/cloudsql.html",
"chars": 1541,
"preview": "<!doctype html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <title>Store locator with Panel</title>\n <script\n "
},
{
"path": "demos/CloudSQL/cloudsql-store-locator/cloudsql.js",
"chars": 1274,
"preview": "google.maps.event.addDomListener(window, 'load', function() {\n var map = new google.maps.Map(document.getElementById('m"
},
{
"path": "samples/GEE/gee_maps_polyline_sample.html",
"chars": 8740,
"preview": "<!DOCTYPE html>\n<!--\nCopyright 2014 Google Inc. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (th"
},
{
"path": "samples/maps/OpenWeatherMapLayer/index.html",
"chars": 4770,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <title>Weather layer</title>\n <style>\n html, body"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/A1.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/A1.tfw",
"chars": 83,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n-179.9979166667\n89.9979166667\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/A2.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/A2.tfw",
"chars": 83,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n-179.9979166667\n-0.0020833333\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/B1.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/B1.tfw",
"chars": 82,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n-89.9979166667\n89.9979166667\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/B2.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/B2.tfw",
"chars": 82,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n-89.9979166667\n-0.0020833333\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/BuildBlueMarble.sh",
"chars": 1316,
"preview": "#!/bin/bash\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"L"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/C1.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/C1.tfw",
"chars": 80,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n0.0020833333\n89.9979166667\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/C2.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/C2.tfw",
"chars": 80,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n0.0020833333\n-0.0020833333\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/D1.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/D1.tfw",
"chars": 81,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n90.0020833333\n89.9979166667\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/D2.prj",
"chars": 262,
"preview": "GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.2572235630016,\n AUTHORITY[\"EPSG\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/D2.tfw",
"chars": 81,
"preview": "0.0041666667\n0.0000000000\n0.0000000000\n-0.0041666667\n90.0020833333\n-0.0020833333\n"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/FetchBlueMarble.sh",
"chars": 1448,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/buildtruemarble250.sh",
"chars": 1544,
"preview": "#!/bin/bash\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"L"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/Imagery/fetchtruemarble250.sh",
"chars": 3759,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/RunMeFirst.sh",
"chars": 1597,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/terrain/BuildEtopoData.sh",
"chars": 1010,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/terrain/FetchEtopoData.sh",
"chars": 848,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/BuildBorders.sh",
"chars": 2249,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/BuildCloudmadeRoads.sh",
"chars": 1480,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/BuildNamesData.sh",
"chars": 1196,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/FetchBordersData.sh",
"chars": 922,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/FetchNamesData.sh",
"chars": 694,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/FetchOSM.sh",
"chars": 28728,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/HiRezShoreline.khdsp",
"chars": 4816,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>7</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/InternationalBorders.khdsp",
"chars": 8772,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>8</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/LowRezShoreline.khdsp",
"chars": 8264,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>9</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/2D_OSM_Highways_Only.kmdsp",
"chars": 8452,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<MapSubLayerConfig>\n\n <asset_ref>Resources/Vector/OSM/africa/hi"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/BuildCloudmadeRoads.sh",
"chars": 1480,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/FetchOSMData.sh",
"chars": 28728,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/GenericOSMHighwayTemplate.khdsp",
"chars": 28870,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/africa_highway.khdsp",
"chars": 28875,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/asia_highway.khdsp",
"chars": 28871,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/europe_highway.khdsp",
"chars": 28875,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/north_america_highway.khdsp",
"chars": 28899,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/oceania_highway.khdsp",
"chars": 28877,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/south_america/unzip_south_america.sh",
"chars": 797,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/OpenStreetmap/south_america_highway.khdsp",
"chars": 28889,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>54</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/StateBorders.khdsp",
"chars": 4808,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>10</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/StateNames.khdsp",
"chars": 6269,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>14</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/1_FetchTigerLineData.sh",
"chars": 350070,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/2D_Tiger_Roads_Template.kmdsp",
"chars": 12538,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<MapSubLayerConfig>\n\n <asset_ref>Resources/Vector/TigerLine2007"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/2D_Tigerline_Highways_only.kmdsp",
"chars": 12955,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<MapSubLayerConfig>\n\n <asset_ref>Resources/Vector/Roads/TigerLi"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/2_UnzipEdgeFiles.sh",
"chars": 839,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/3_CreateTigerResources.sh",
"chars": 1377,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/4_BuildTigerResources.sh",
"chars": 1164,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/5_AddTigerResourcesToProject.sh",
"chars": 1231,
"preview": "#!/bin/sh\n# Copyright 2014 Google Inc. All rights reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/ALABAMA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/ALASKA.khdsp",
"chars": 31346,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/ARIZONA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/ARKANSAS.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/CALIFORNIA.khdsp",
"chars": 31354,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/COLORADO.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/CONNECTICUT.khdsp",
"chars": 31356,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/DELAWARE.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/DISTRICT_OF_COLUMBIA.khdsp",
"chars": 31374,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/FLORIDA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/GEORGIA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/HAWAII.khdsp",
"chars": 31346,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/IDAHO.khdsp",
"chars": 31344,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/ILLINOIS.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/INDIANA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/IOWA.khdsp",
"chars": 31342,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/KANSAS.khdsp",
"chars": 31346,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/KENTUCKY.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/LOUISIANA.khdsp",
"chars": 31352,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MAINE.khdsp",
"chars": 31344,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MARYLAND.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MASSACHUSETTS.khdsp",
"chars": 31360,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MICHIGAN.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MINNESOTA.khdsp",
"chars": 31352,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MISSISSIPPI.khdsp",
"chars": 31356,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MISSOURI.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/MONTANA.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEBRASKA.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEVADA.khdsp",
"chars": 31346,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEW_HAMPSHIRE.khdsp",
"chars": 31360,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEW_JERSEY.khdsp",
"chars": 31354,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEW_MEXICO.khdsp",
"chars": 31354,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NEW_YORK.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NORTH_CAROLINA.khdsp",
"chars": 31362,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/NORTH_DAKOTA.khdsp",
"chars": 31358,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/OHIO.khdsp",
"chars": 31342,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/OKLAHOMA.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/OREGON.khdsp",
"chars": 31346,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/PENNSYLVANIA.khdsp",
"chars": 31358,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/RHODE_ISLAND.khdsp",
"chars": 31358,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/SOUTH_CAROLINA.khdsp",
"chars": 31362,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/SOUTH_DAKOTA.khdsp",
"chars": 31358,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/TENNESSEE.khdsp",
"chars": 31352,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/TEXAS.khdsp",
"chars": 31344,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/Tiger2009_road_display_rules.khdsp",
"chars": 31344,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/TigerLine2D2009HighwaysOnly.kmdsp",
"chars": 12939,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<MapSubLayerConfig>\n\n <asset_ref>Resources/Vector/Roads/TigerLi"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/TigerLineRoads.khdsp",
"chars": 31335,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>32</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/TigerLineRoadsHighwaysOnly.khdsp",
"chars": 27855,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>32</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/UTAH.khdsp",
"chars": 31342,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/VERMONT.khdsp",
"chars": 31348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/VIRGINIA.khdsp",
"chars": 31350,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/WASHINGTON.khdsp",
"chars": 31354,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/TigerLineRoads/WEST_VIRGINIA.khdsp",
"chars": 31360,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>5</channelId>\n\n <assetRef>Resources"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/allCountries.kdx",
"chars": 893,
"preview": "Layout {\nFileType : \"delimited\"\nDelimiter : \"\t\"\nLatitude : \"4\"\nLongitude : \"5\"\nFieldDefinitions {\n0 {\nName : \"geonameid\""
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/usa_state_names.khdsp",
"chars": 6269,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>14</channelId>\n\n <assetRef>Resource"
},
{
"path": "tools/GEE/BuildTheBaseGlobe/vector/world_cities.khdsp",
"chars": 32728,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<LayerConfig>\n\n <channelId>15</channelId>\n\n <assetRef>Resource"
}
]
About this extraction
This page contains the full source code of the google/maps-for-work-samples GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 127 files (2.3 MB), approximately 620.9k tokens, and a symbol index with 17 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.