# -*- coding: utf-8 -*- import os import sys import json import utilsgis import utils import log reload(sys) sys.setdefaultencoding('utf-8') def run(fun, data): try: eval("{0}".format(fun))(data) #输出成功信息 做交互用 print("####OK####") except: msg = str(sys.exc_info()).decode('string-escape') print("####ERROR####" + msg) log.error(msg) #shp转json def shp2geojson(data): shpfile = data["shpfile"] geojson = data["geojson"] utilsgis.shp2geojson(shpfile, geojson) #json转shp def esriJson2shp(data): jsonfile = data["json"] shpfile = data["shpfile"] utilsgis.esriJson2shp(jsonfile, shpfile) #json存入SDE def esriJson2sde(data): jsonfile = data["json"] shpfile = data["table"] utilsgis.esriJson2sde(jsonfile, shpfile) #shp存入SDE def shp2sde(data): shpfile = data["shpfile"] table = data["table"] fields = None if data.get('fields') != None: fields = data["fields"]; utilsgis.shp2sde(shpfile, table, fields) #SDE转shp def sde2shp(data): table = data["table"] where = data["where"] shpfile = data["shpfile"] utilsgis.sde2shp(table, shpfile, where) # CAD转SHP def dwgToShp(data): dwgfile = data["dwgfile"] espg = data["espg"] utilsgis.dwg2shp(dwgfile, espg) if __name__ == '__main__': #shp2sde({"shpfile":r"E:\99project\P008KJGH\SVN\branches\eeds\Mxds\Maps\fzxz.shp", "table":"KJGH.T_FZSS_FXRW_GIS", # "fields":[{"name":"RWBSM","type":"TEXT","value":"aab"},{"name":"RWLX","type":"TEXT","value":"ccd"}] }) #shp2sde({"shpfile":"E:\\99project\\P008KJGH\\SVN\\trunk\\SoureCode\\2.Api\\QM.KJGH.GHSS\\QM.KJGH.GHSS\\files\\temp\\SHP_20210820024201.shp","table":"KJGH.T_FZSS_FXRW_GIS", # "fields":[{"name":"RWBSM","type":"TEXT","value":"d1b0737c231849dd9130403502c48daa"},{"name":"RWLX","type":"TEXT","value":"辅助选址"}]}) #print(1234567) #esriJson2sde({"json":"E:\\99project\\P008KJGH\\SVN\\trunk\\SoureCode\\2.Api\\QM.KJGH.GHSS\\QM.KJGH.GHSS\\files\\temp\\SHP_20210820235143.json","table":"KJGH.T_FZSS_FXRW_GIS"}) #log.info('开始入库') #sde2geojson({"table":"KJGH.T_FZSS_FZXZ_JG_GIS","geojson":"E:\\99project\\aaa.json","where":"\"RWBSM\"='a801628a23fd40d19e1115bba498ab2c'"}) if len(sys.argv) == 3: fun = sys.argv[1] jsonData = utils.b64Decode(sys.argv[2]) log.info(jsonData) run(fun, json.loads(jsonData))