有兩種方法,第一種是用arcgisMap自帶的toolbox裡的工具,路徑為:system toolboxes-->conversion tools-->JSON-->JSON To Features與Features To JSON。這裡shp轉json一般不會報錯。主要說明一下json轉shp。
1.首先你的json檔案的結構一定要符合arcgis的标準,可以自己用一個shp轉成JSON後自己看看arcgis的JSON結構,然後根據這個結構去寫自己的JSON。
2.也許你會發現同一個shp檔案在arcgis裡轉成json之後,再轉回shp時會報錯001558。這是因為你arcgis版本是10.3以前的,有點錯誤。錯誤原因是如果你的資料包含中文,featurestojson 轉成的json檔案編碼是utf8,但jsontofeatures必須要使用ansi的編(gbk2312)。
解決方式是吧JSON用notepad++打開,并将檔案轉為ANSI編碼。之後再轉就不會報錯了。
第二種方法是使用GDAL工具。
第一步:配置GDAL
GDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協定下的開源栅格空間資料轉換庫。它利用抽象資料模型來表達所支援的各種檔案格式。它還有一系列指令行工具來進行資料轉換和處理。OGR是GDAL項目的一個分支,功能與GDAL類似,隻不過它提供對矢量資料的支援。有很多著名的GIS類産品都使用了GDAL/OGR庫,包括ESRI的ARCGIS 9.3,Google Earth和跨平台的GRASS GIS系統。利用GDAL/OGR庫,可以使基于Linux的地理空間資料管理系統提供對矢量和栅格檔案資料的支援。
【配置步驟】
①将編譯好的GDAL檔案夾複制到C:\Program Files\GDAL路徑下(此檔案分享在雲盤http://pan.baidu.com/s/1bSVk6a)
②建立系統變量 GDAL_HOME
③編輯系統變量 “path”在末尾添加 ;%GDAL_HOME%
第二步:cmd指令
Shp轉GeoJson:
ogr2ogr -f "GeoJSON" F:/test/f1.jsonF:/test/f1.shp
Geojson轉Shp:
ogr2ogr-f "ESRI Shapefile" F:/test/f1.shp F:/test/f1.json