Skip to content

Instantly share code, notes, and snippets.

@hfu
Forked from yofukami/LICENSE
Last active October 24, 2023 09:46
Show Gist options
  • Save hfu/b8d9fb24415476a0782dfb0291e3648f to your computer and use it in GitHub Desktop.
Save hfu/b8d9fb24415476a0782dfb0291e3648f to your computer and use it in GitHub Desktop.
ジオ+ウェブの標準化、最近の進捗
CC0 1.0 Universal
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later
claims of infringement build upon, modify, incorporate in other works, reuse
and redistribute as freely as possible in any form whatsoever and for any
purposes, including without limitation commercial purposes. These owners may
contribute to the Commons to promote the ideal of a free culture and the
further production of creative, cultural and scientific works, or to gain
reputation or greater distribution for their Work in part through the use and
efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with a
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not limited
to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
the Waiver for the benefit of each member of the public at large and to the
detriment of Affirmer's heirs and successors, fully intending that such Waiver
shall not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of the Work
by the public as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
is so judged Affirmer hereby grants to each affected person a royalty-free,
non transferable, non sublicensable, non exclusive, irrevocable and
unconditional license to exercise Affirmer's Copyright and Related Rights in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective as
of the date CC0 was applied by Affirmer to the Work. Should any part of the
License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or
other defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions
or other rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>

標高タイル、ベクトルタイル、また標高タイルを包含する三次元タイルについて、GitHub をツールとして用いたオープンソース実装による仕様の収斂が進んでいるように観測される。

標高タイル

概要

産総研がかねてより提唱していた「PNG標高タイル」と非常に類似性の高い標高タイルが、Mapzen 社により提唱されている。Mapzen 社は世界全体を覆う標高タイルサービスも提供している。

解説

地理院は、PNG標高タイルとまったく同じコンセプト(「画像タイルに対してピクセルパーフェクトな標高データ」)でエンコードのみ違う、CSV形式の標高タイルを従前からリリースしており、エンコード変更でいつでも合流可能な技術的状態になっている。

160602 追記

なお、同じタイルの方式を使うが、タイル内部の表現を「ピクセルパーフェクトの配列」ではなくて「不整三角網(TIN)」にした仕様として、quantized-esh がある。3D表現のためには明らかに性能が優れているし、仕様自体はオープンソースであるが、データの作成に独特のノウハウがあると考えている。

確認させていただきたいこと

地理院、産総研とMapzenの仕様の違い

  1. 共通点は、slippy map tilenames よって分割されたタイルのピクセルごとに値を割り当てるという考えをとること。
  2. 地理院標高タイルは CSV テキスト形式であり、産総研PNG標高タイルとMapzen PNG標高タイルは、標高値をPNGの画素に割り当てる。
  3. Mapzen PNG標高タイルは、(red * 256 + green + blue / 256) - 32768、産総研標高タイルはRGB値(r,g,b)をこの順に並べて24bit符号付き整数として解釈し整数値を得え,この値にデータセット毎に定めらえた標高分解能u(単位m)をかけて標高値h(単位m)とする。つまり、微妙な違いがある。

ベクトルタイル

概要

Mapbox 社が提唱している Mapbox Vector Tiles (.mvt) 方式が、フォーマット名称に会社名を含むことに対する抵抗感など伴いながらも普及している。esri 社がサポートに踏み切ったことが大きい。なお、ベクトルタイルの採用は、ブラウザにおけるジオデータのレンダ系が SVG から WebGL に変わっていくことと合わせて行われることが多く、その点も興味深い。

確認させていただきたいこと

mvtの競合仕様はどのようなものがありますか?

競合ではないと思いますが、バリエーションがあります。例えば、より不定形であったりタイル化されていなかったりするデータについてバイナリ化する、より簡易なフォーマット geobuf https://github.com/mapbox/geobuf があります。

Shapefile 形式や GeoJSON 形式は、思想は違いますがシェアという意味では競合かもしれません。

WebGLは3Dのための仕様だと認識していましたが、タイルは標高を含む3D表現がデフォルトになったということでよろしいのでしょうか?でも、ベクトルタイルと三次元タイルは別物なのですよね?

WebGL は graphics library つまりソフトウェア仕様ですが、タイルはデータのパーティション方法だと認識しています。

タイル地図で標高を含む3D表現がデフォルトになったか、というところは微妙かもしれず、Apple、Google、地理院は3D表現に手をつけていますが、例えば Yahoo! や Mapion はウェブでの3D表現には手を付けていないと認識してます。(Yahoo!はアプリで3D表現をしています http://internet.watch.impress.co.jp/docs/news/610805.html

3D Tiles は複数のパートからなる仕様、という体裁となっており、その部分が分かりにくいですが、3D Tiles の仕様にはベクトルが含まれています。ただし、3D Tiles の部分としての vector は mvt と同一ではないことになるようです。3D Tiles の vector data については https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/VectorData/README.md に記載されるようですが、まだユースケースの分析と簡単な方向性の記述にとどまっているようです。

自分の勉強もかねて、https://github.com/AnalyticalGraphicsInc/3d-tiles#spec-status に記載の、3D Tiles の仕様の構成を引き写してみますと次のとおりです。

  1. tileset.json
  2. Batched 3D Model (b3dm)
  3. Point Cloud (pnts)
  4. Composite (cmpt)
  5. Instanced 3D Model (i3dm)
  6. Vector data ***
  7. Declarative styling
  8. OpenStreetMap
  9. Massive Mode
  10. Terrain ***
  11. Stars

ここでの 10. Terrain は、quantized-mesh を想定しているようです。(もともと、quantized-mesh は AGI が開発した仕様でもあります。)

Mapbox社とesri社とを比較すると、比較的Mapbox社の方がオープン(OSMとの親和性などから)という評価をされていると_予測_するのですが、そうなのでしょうか。

この分野にいる一技術者の持つイメージとしても、そのように思います。一方で、まさにそのような評価に対抗するために、esriもオープンソース・オープンデータへの注力を見せています。特にワシントン方面でesriのオープンへの投入が目立っているようです。

http://www.esri.com/software/open

Mapbox社の普及活動はどのようなものでしたか?

Mapbox の普及活動は、常に「実装の提供」によるように感じています。JavaScript ベースの API を提供し、素敵なサンプルを作り、ブログで展開する、ということを常にやられている気がします。

最近、似たようなアプローチで当該分野の技術者の人気を集めている会社としては、cartodb があるように見えています。

esri社がMapbox社仕様を受容した理由はどのように推測されますか?

  1. esri がこのサブ分野で競合の独自技術を持っていなかったこと。
  2. 標準化団体がこのサブ分野で競合の仕様を持っていなかったこと。

三次元タイル

概要

Cesium を提供する AGI (Analytical Graphics, Inc.) 社から、三次元タイルが提唱されてきている。標高タイルも包含する仕様になる予定であるが、三次元タイルの主眼は三次元モデルのタイル化にある。

確認させていただきたいこと

issueを見ると、ユーザーからのフィードバックをそれなりに受けて改良している様子が見えますが、AGI社の改良方針はどのように分析できるでしょうか。

プルリクエストにはオープンであるが、この分野の自社の技術力には絶対の自信があるので、実装のリード又はGitHub上の議論の支配を通じて、主導権は確保できる、という方針を持っているように分析しています。

他に競合仕様はありますか?

上述のように、かなり莫大な仕様案であり、オープンにされていることと、このサブ分野では、かなり高度な計算幾何学系のノウハウが必要そうなため、競合仕様の姿は見えていません。AGIの強みは、データモデルとビジュアライゼーションを同時に考える能力を持つことではないかと思います。データモデルのみであれば、CityGML などもありますが、ビジュアライゼーションのためにデータをパーティションする(タイル化する)、効率的に符号化する、といった発想は、データモデルのみを考えるプレイヤーには持ちづらいようです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment