python 地理信息_python地理信息系统ORM,pythongisORM

1、由postgis 读取geopandas数据

sql = ‘select * from “CellParament铜陵3Gis”’

sql=text(sql)

band3g=gpd.GeoDataFrame.from_postgis(sql, con=engineSourcesGis, geom_col=‘geom’)

band3g[‘Ci’]=band3g.Ci.apply(lambda x:str(x).split(’.’)[0])

2、读取的数据进行geom转换

customplace[‘geom’] = customplace[‘geom’].apply(lambda x: WKTElement(x.wkt, 4326))

3、在orm设置geom专属字段

class CustomPlaceReport(Base):

tablename

= ‘用户位置信令获取表’

seriesnum=Column(‘编码’, String,primary_key=True)

starttime=Column(‘开始时间’, String)

phonnum=Column(‘用户号码’, String,nullable=False)

Ci = Column(‘Ci’, String)

cellname=Column(‘小区名称’, String)

Ang=Column(‘方向角’, Float)

downtilt=Column(‘下倾角’, Float)

high=Column(‘天线挂高’, Float)

ticketid=Column(‘工单号’, String)

geom=Column(Geometry(‘POINT’), nullable=False)

4、录入postgis数据

用户位置信息数据入库

for i in range(len(customplace)):

print(’,’.join([str(customplace.iloc[i].ticketid),str(customplace.iloc[i].phonnum),str(customplace.iloc[i].starttime)]))

placereport = CustomPlaceReport(seriesnum=’,’.join([str(customplace.iloc[i].ticketid),str(customplace.iloc[i].phonnum),str(customplace.iloc[i].starttime)]),

starttime=str(customplace.iloc[i].starttime),

phonnum=str(customplace.iloc[i].phonnum),

Ci=str(customplace.iloc[i].Ci),

cellname=customplace.iloc[i].小区名称,

Ang=customplace.iloc[i].Ang,

downtilt=customplace.iloc[i].下倾角,

high=customplace.iloc[i].天线挂高,

ticketid=customplace.iloc[i].ticketid,

geom=customplace.iloc[i].geom)

customsession.add(placereport)

customsession.commit()

try:

customsession.commit()

print(‘位置记录已写入’)

except:

print(‘位置记录已存在’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值