日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GIS基本概念

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GIS基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  • WKT(Well-known text)是開放地理空間聯盟OGC(Open GIS Consortium )制定的一種文本標記語言,用于表示矢量幾何對象、空間參照系統及空間參照系統之間的轉換。
  • WKB(well-known?binary) 是WKT的二進制表示形式,解決了WKT表達方式冗余的問題,便于傳輸和在數據庫中存儲相同的信息
  • GeoJSON 一種JSON格式的Feature信息輸出格式,它便于被JavaScript等腳本語言處理,OpenLayers等地理庫便是采用GeoJSON格式。此外,TopoJSON等更精簡的擴展格式
  • ?

    幾何對象

  • WKT可以表示的對象包括以下幾種:
    • Point, MultiPoint
    • LineString, MultiLineString
    • Polygon, MultiPolygon
    • GeometryCollection
      • 可以由多種Geometry組成,如:GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)
  • ? 示例: ??

    Type

    Shape

    WKT

    GeoJSON

    Point

    ?

    POINT (30 10)

    { "type": "Point", "coordinates": [30, 10] }

    LineString

    ?

    LINESTRING (30 10, 10 30, 40 40)

    { "type": "LineString", "coordinates": [ [30, 10], [10, 30], [40, 40] ] }

    Polygon

    ?
    ?

    POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

    { "type": "Polygon", "coordinates": [ [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]] ] }

    ?

    POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),
    (20 30, 35 35, 30 20, 20 30))

    { "type": "Polygon", "coordinates": [ [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], [[20, 30], [35, 35], [30, 20], [20, 30]] ] }

    MultiPoint

    ?
    ??

    MULTIPOINT ((10 40), (40 30), (20 20), (30 10))

    ?

    { "type": "MultiPoint", "coordinates": [ [10, 40], [40, 30], [20, 20], [30, 10] ] }

    ?
    ?

    MULTIPOINT (10 40, 40 30, 20 20, 30 10)

    ?

    MultiLineString

    ??

    MULTILINESTRING ((10 10, 20 20, 10 40),
    (40 40, 30 30, 40 20, 30 10))

    ?

    { "type": "MultiLineString", "coordinates": [ [[10, 10], [20, 20], [10, 40]], [[40, 40], [30, 30], [40, 20], [30, 10]] ] }

    ?

    MultiPolygon

    ??

    MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),
    ((15 5, 40 10, 10 20, 5 10, 15 5)))

    ?

    { "type": "MultiPolygon", "coordinates": [ [ [[30, 20], [45, 40], [10, 40], [30, 20]] ], [ [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]] ] ] }

    MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
    ((20 35, 10 30, 10 10, 30 5, 45 20, 20 35),
    (30 20, 20 15, 20 25, 30 20)))

    { "type": "MultiPolygon", "coordinates": [ [ [[40, 40], [20, 45], [45, 30], [40, 40]] ], [ [[20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35]], [[30, 20], [20, 15], [20, 25], [30, 20]] ] ] }

    ?

    WKB格式

    ? ? ?WKB采用二進制進行存儲,更方便于計算機處理,因此廣泛運用于數據的傳輸與存儲,以二位點Point(1?1)為例,

    ? ? ?其WKB表達如下:

    ?        01??0100?0020?E6100000??000000000000F03F?000000000000F03F

            

    ? ??

  • byteOrder
    • 表示編碼方式,00為使用big-endian編碼(XDR),01為使用little-endian編碼(NDR)。他們的不同僅限于在內存中放置字節的順序,比如我們將0x1234abcd寫入到以0×0000開始的內存中,則結果如下表:

    • Address

      big-endian

      little-endian

      0×0000

      0x12

      0xcd

      0×0001

      0x34

      0xab

      0×0002

      0xab

      0x34

      0×0003

      0xcd

      0x12

  • webTypd
    • 第二到第九字節對矢量數據基本信息進行了定義
      • 第二與第三個字節規定了矢量數據的類型,如例子中的0100代表Point;

      • 第三與第四個字節規定了矢量數據的維數,如例子中的0020代表該點是二位的;

      • 第五到第九個字節規定了矢量數據的空間參考SRID,如例子中的E6100000是4326的整數十六位進制表達
  • srid
    • 第五到第九個字節規定了矢量數據的空間參考SRID,如例子中的E6100000是4326的整數十六位進制表達
  • structPoint
    • 第十個字節開始,每16個字節就代表一個坐標對,如例子中的000000000000F03F是浮點型1的十六進制表達
  • ?

    ?

    轉載于:https://www.cnblogs.com/duanxingxing/p/5144257.html

    總結

    以上是生活随笔為你收集整理的GIS基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。