zoukankan      html  css  js  c++  java
  • ESRI,空间数据处理,WKT,GeoJson

    一、WKT

    WKT(well-known text)是一种文本标记语言,用于表示矢量数据中的几何对象,在数据传输与数据库存储时,常用到它的二进制形式,即WKB(well-known binary)。WKT与WKB在GIS中的重要作用在于,它们能利用文本简洁明了的表达矢量空间要素的几何信息,使得几何信息能以字段的形式存储于数据库中。

    WKT 示例:

    "MULTIPOLYGON (((120.309929 36.060021,120.426772 36.020983,120.309929 36.026087,120.309929 36.060021)))"
    

    二、GeoJson

    GeoJSON是一种用于编码各种地理数据结构的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON里的特征包含一个几何对象及其其他属性,geoJson可以很好的结合前端展示。

    geoJson 示例

    {
      "type": "Feature",
      "geometry": {
       "type":"Polygon",
       "coordinates":[[[120.309929,36.060021],[120.309929,36.026087],[120.426772,36.020983],[120.309929,36.060021]]]}
      },
      "properties": {
        "name": "Dinagat Islands"
      }
    }
    
    

    WKT和GeoJson都是地理位置信息处理常用的工具,二者都支持点、线、面、多点、多面等几何类型,在处理GIS、AIS等数据的时候经常需要二者相互转换结合使用,常用的工具是geotools和ESRI。ESRI比较轻量级。 可以应用于Hadoop、HIve、Storm等大数据平台的开发。支持GeoJson、WKT、Shape等数据格式的读写与相互转换。也包含空间数据集操作的API:面积、距离、包含、交叉等。

    三、WKT转GeoJson

     val wktString = "MULTIPOLYGON (((120.309929 36.060021, 120.426772 36.020983,120.309929 36.026087,120.309929 36.060021)))"
     
     // WKT 转GeoJson
     val geom: Geometry = OperatorImportFromWkt.local
          .execute(WktImportFlags.wktImportDefaults, Geometry.Type.Polygon, wktString, null)
          
     val geojson: String = OperatorExportToGeoJson.local().execute(geom)
    
     println(geojson)
    
    

    返回的GeoJson只包含‘Type’和‘coordinates’属性。

    {"type":"Polygon","coordinates":[[[120.309929,36.060021],[120.309929,36.026087],[120.426772,36.020983],[120.309929,36.060021]]]}
    

    四、GeoJson 转 WKT

      // GeoJson 转 WKT
       val geometry: Geometry = OperatorImportFromGeoJson.local()
          .execute(GeoJsonImportFlags.geoJsonImportDefaults, Geometry.Type.Polygon, geojson, null)
          .getGeometry
    
       val wktStringParsed = OperatorExportToWkt.local()
          .execute(WktImportFlags.wktImportDefaults, geometry, null)
    
       println(wktStringParsed)
    
    MULTIPOLYGON (((120.309929 36.060021, 120.309929 36.026087, 120.426772 36.020983, 120.309929 36.060021)))
    

    资源:ESRI包 做空间数据处理

  • 相关阅读:
    jquery 滚动条插件 jquery.nanoscroller.js
    Lost connection to MySQL server at 'reading initial communication packet' 错误解决
    ajax上传图片 jquery插件 jquery.form.js 的方法 ajaxSubmit; AjaxForm与AjaxSubmit的差异
    转:MVC3系列:~Html.BeginForm与Ajax.BeginForm
    转:MVC2表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做;MVC2输出文本;MVC2输出PDF文件
    Java中的Dom4j
    Java插件之Jrebel
    Idea中的一些快捷键
    Java中的XML
    SQL Server 表值函数
  • 原文地址:https://www.cnblogs.com/aixing/p/13327374.html
Copyright © 2011-2022 走看看