• python 读取全国城市aqi数据,差值生成png图片


    # -*- coding: utf-8 -*-
    import arcpy
    import sys
    import datetime
    import cx_Oracle
    import json
    import os
    import time
    import uuid
    from arcpy import env
    from arcpy.sa import *
    
    
    env.workspace = r"F:py";
    mapPath =  r"F:py";
    imagepath = r'F:pyimages2016-06-07'
    
    arcpy.AddMessage("1.查询数据库");
    cnxn = cx_Oracle.connect('jinan/jinan@127.0.0.1:1521/orcl')
    cursor = cnxn.cursor();
    sql = "select citycode,aqi from city ";
    cursor.execute(sql);
    cursorData = cursor ;
    
    
    arcpy.AddMessage("2.数据保存到fc");
    for item in cursorData:
        print item[0]+'-'+item[1];
        
        fc = "F:pyjinan.gdb/city";
        where = "CITYCODE=" +item[0];
        rows = arcpy.UpdateCursor(fc,where);
        for row in rows:
            row.setValue('aqi1',item[1]);
            rows.updateRow(row)
        del rows ,fc;
    
    arcpy.AddMessage("3.进行差值操作");
    inPointFeatures = "F:pyjinan.gdb/city";
    inBarrierFeature = "F:pyjinan.gdb/barrier";
    cellSize = 10000.0
    arcpy.CheckOutExtension("Spatial")
    outSplineBarriers = SplineWithBarriers(inPointFeatures, 'aqi1', inBarrierFeature, cellSize, 1);
    tif = "pointraster.tif";
    tif1 = "pointraster1.tif";
    outSplineBarriers.save(tif);
    
    arcpy.AddMessage("4.根据行政区边界图层剪切栅格")
    outExtractByMask = ExtractByMask(tif, inBarrierFeature)
    outExtractByMask.save(tif1)
    
    arcpy.AddMessage("5.更新mxd");
    mxdPath = mapPath + r"pointraster1.mxd";
    mxd = arcpy.mapping.MapDocument(mxdPath);
    df = arcpy.mapping.ListDataFrames(mxd, "")[0];
    for lyr in arcpy.mapping.ListLayers(mxd, "", df):
        arcpy.mapping.RemoveLayer(df, lyr);
    addLayer = arcpy.mapping.Layer(mapPath + r"pointraster1.lyr")                   
    arcpy.mapping.AddLayer(df, addLayer, "BOTTOM")
    
    
    
    arcpy.AddMessage("6.输出图片png");
    fileName ="aqi.png"
    df.extent = addLayer.getSelectedExtent()
    arcpy.mapping.ExportToPNG(mxd, imagepath+"\" + fileName , df, background_color="255,255,255", transparent_color="255,255,255",world_file=True);
    
    
    arcpy.AddMessage("7.清理内存")
    del mxd, addLayer,df,outSplineBarriers,inPointFeatures,inBarrierFeature
  • 相关阅读:
    CentOS 7 网卡命名修改为eth0格式
    Sublime Text3下的markdown插件的安装及配置
    json-lib 之jsonConfig详细使用(转载写的不错)
    IDEA快捷键【收藏】
    阿里云安装nginx 和 php-fpm
    sed 神器
    非root模式下安装mysql php小记
    一个不错的vim配置
    sublime安装sftp和ctags插件
    取得某个数组前key大 PHP实现
  • 原文地址:https://www.cnblogs.com/tiandi/p/5585966.html
Copyright © 2020-2023  润新知