正在显示
2 个修改的文件
包含
35 行增加
和
30 行删除
| ... | ... | @@ -21,9 +21,8 @@ from app.util.component.TaskController import TaskController |
| 21 | 21 | from app.util.component.TaskWriter import TaskWriter |
| 22 | 22 | from osgeo.ogr import DataSource,Layer,Geometry |
| 23 | 23 | from osgeo import ogr |
| 24 | -from authlib.integrations.flask_oauth2 import current_token | |
| 25 | 24 | from app.util.component.UserCheck import UserCheck |
| 26 | - | |
| 25 | +import copy | |
| 27 | 26 | |
| 28 | 27 | |
| 29 | 28 | class Api(ApiTemplate): |
| ... | ... | @@ -317,8 +316,8 @@ class VacuateProcess: |
| 317 | 316 | |
| 318 | 317 | schema = layer.schema |
| 319 | 318 | # 增加统计字段 |
| 320 | - schema.append(ogr.FieldDefn("_dcigrid_count_", ogr.OFTInteger)) | |
| 321 | - schema.append(ogr.FieldDefn("_dcigrid_name_", ogr.OFTString)) | |
| 319 | + # schema.append(ogr.FieldDefn("_dcigrid_count_", ogr.OFTInteger)) | |
| 320 | + # schema.append(ogr.FieldDefn("_dcigrid_name_", ogr.OFTString)) | |
| 322 | 321 | |
| 323 | 322 | for l in range(self.max_level): |
| 324 | 323 | this_grid_len = self.this_gridsize[l] |
| ... | ... | @@ -354,7 +353,7 @@ class VacuateProcess: |
| 354 | 353 | def vacuate(self,g,feature): |
| 355 | 354 | |
| 356 | 355 | if self.is_spatial: |
| 357 | - | |
| 356 | + feat = copy.copy(feature) | |
| 358 | 357 | # 插入到所有抽稀图层中 |
| 359 | 358 | for level in range(self.max_level): |
| 360 | 359 | |
| ... | ... | @@ -375,7 +374,9 @@ class VacuateProcess: |
| 375 | 374 | if self.fill_dict[key] == 0: |
| 376 | 375 | |
| 377 | 376 | vacuate_layer: Layer = self.vacuate_layers.get(level) |
| 378 | - feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 377 | + | |
| 378 | + | |
| 379 | + #feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 379 | 380 | # 如果图形比网格小,直接存储其中心点 |
| 380 | 381 | if this_grid_len>long_extent and this_grid_len>lat_extent: |
| 381 | 382 | feat.SetGeometry(center) |
| ... | ... | @@ -383,27 +384,28 @@ class VacuateProcess: |
| 383 | 384 | feat.SetGeometry(g) |
| 384 | 385 | |
| 385 | 386 | # 复制旧feature属性 |
| 386 | - field_dict = feature.items() | |
| 387 | - for field_name in field_dict: | |
| 388 | - feat.SetField(field_name, field_dict[field_name]) | |
| 389 | - | |
| 390 | - feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 387 | + # field_dict = feature.items() | |
| 388 | + # for field_name in field_dict: | |
| 389 | + # feat.SetField(field_name, field_dict[field_name]) | |
| 390 | + # | |
| 391 | + # feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 391 | 392 | |
| 392 | 393 | vacuate_layer.CreateFeature(feat) |
| 394 | + | |
| 393 | 395 | self.fill_dict[key] += 1 |
| 394 | 396 | #超大的还有机会 |
| 395 | 397 | elif long_extent > 10 * this_grid_len or lat_extent > 10 * this_grid_len: |
| 396 | 398 | vacuate_layer: Layer = self.vacuate_layers.get(level) |
| 397 | 399 | |
| 400 | + # feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 398 | 401 | |
| 399 | - feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 400 | 402 | feat.SetGeometry(g) |
| 401 | 403 | |
| 402 | 404 | # 复制旧feature属性 |
| 403 | - field_dict = feature.items() | |
| 404 | - for field_name in field_dict: | |
| 405 | - feat.SetField(field_name, field_dict[field_name]) | |
| 406 | - feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 405 | + # field_dict = feature.items() | |
| 406 | + # for field_name in field_dict: | |
| 407 | + # feat.SetField(field_name, field_dict[field_name]) | |
| 408 | + # feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 407 | 409 | |
| 408 | 410 | vacuate_layer.CreateFeature(feat) |
| 409 | 411 | self.fill_dict[key] += 1 | ... | ... |
| ... | ... | @@ -18,6 +18,7 @@ from app.util.component.UserCheck import UserCheck |
| 18 | 18 | from app.util.component.VacuateConf import VacuateConf |
| 19 | 19 | from app.util.component.TaskController import TaskController |
| 20 | 20 | from app.util.component.TaskWriter import TaskWriter |
| 21 | +import copy | |
| 21 | 22 | |
| 22 | 23 | class Api(ApiTemplate): |
| 23 | 24 | api_name = "单独抽稀" |
| ... | ... | @@ -150,7 +151,7 @@ class Api(ApiTemplate): |
| 150 | 151 | if count%10000==0: |
| 151 | 152 | StructurePrint().print("{}图层已抽稀{}个对象".format(table.name, count)) |
| 152 | 153 | |
| 153 | - vacuate_process.set_vacuate_count() | |
| 154 | + # vacuate_process.set_vacuate_count() | |
| 154 | 155 | |
| 155 | 156 | |
| 156 | 157 | #新增 |
| ... | ... | @@ -281,8 +282,8 @@ class VacuateProcess: |
| 281 | 282 | |
| 282 | 283 | schema = layer.schema |
| 283 | 284 | # 增加统计字段 |
| 284 | - schema.append(ogr.FieldDefn("_dcigrid_count_", ogr.OFTInteger)) | |
| 285 | - schema.append(ogr.FieldDefn("_dcigrid_name_", ogr.OFTString)) | |
| 285 | + # schema.append(ogr.FieldDefn("_dcigrid_count_", ogr.OFTInteger)) | |
| 286 | + # schema.append(ogr.FieldDefn("_dcigrid_name_", ogr.OFTString)) | |
| 286 | 287 | |
| 287 | 288 | for l in range(self.max_level): |
| 288 | 289 | this_grid_len = self.this_gridsize[l] |
| ... | ... | @@ -322,7 +323,7 @@ class VacuateProcess: |
| 322 | 323 | def vacuate(self,g,feature): |
| 323 | 324 | |
| 324 | 325 | if self.is_spatial: |
| 325 | - | |
| 326 | + feat = copy.copy(feature) | |
| 326 | 327 | # 插入到所有抽稀图层中 |
| 327 | 328 | for level in range(self.max_level): |
| 328 | 329 | |
| ... | ... | @@ -344,7 +345,8 @@ class VacuateProcess: |
| 344 | 345 | if self.fill_dict[key] == 0: |
| 345 | 346 | |
| 346 | 347 | vacuate_layer: Layer = self.vacuate_layers.get(level) |
| 347 | - feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 348 | + | |
| 349 | + # feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 348 | 350 | # 如果图形比网格小,直接存储其中心点 |
| 349 | 351 | if this_grid_len>long_extent and this_grid_len>lat_extent: |
| 350 | 352 | feat.SetGeometry(center) |
| ... | ... | @@ -352,10 +354,10 @@ class VacuateProcess: |
| 352 | 354 | feat.SetGeometry(g) |
| 353 | 355 | |
| 354 | 356 | # 复制旧feature属性 |
| 355 | - field_dict = feature.items() | |
| 356 | - for field_name in field_dict: | |
| 357 | - feat.SetField(field_name, field_dict[field_name]) | |
| 358 | - feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 357 | + # field_dict = feature.items() | |
| 358 | + # for field_name in field_dict: | |
| 359 | + # feat.SetField(field_name, field_dict[field_name]) | |
| 360 | + # feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 359 | 361 | |
| 360 | 362 | vacuate_layer.CreateFeature(feat) |
| 361 | 363 | self.fill_dict[key] += 1 |
| ... | ... | @@ -363,14 +365,15 @@ class VacuateProcess: |
| 363 | 365 | #超大的还有机会 |
| 364 | 366 | elif long_extent > 10 * this_grid_len or lat_extent > 10 * this_grid_len: |
| 365 | 367 | vacuate_layer: Layer = self.vacuate_layers.get(level) |
| 366 | - feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 368 | + | |
| 369 | + # feat = ogr.Feature(vacuate_layer.GetLayerDefn()) | |
| 367 | 370 | feat.SetGeometry(g) |
| 368 | 371 | |
| 369 | 372 | # 复制旧feature属性 |
| 370 | - field_dict = feature.items() | |
| 371 | - for field_name in field_dict: | |
| 372 | - feat.SetField(field_name, field_dict[field_name]) | |
| 373 | - feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 373 | + # field_dict = feature.items() | |
| 374 | + # for field_name in field_dict: | |
| 375 | + # feat.SetField(field_name, field_dict[field_name]) | |
| 376 | + # feat.SetField("_dcigrid_name_",".".join(key.split(".")[1:])) | |
| 374 | 377 | |
| 375 | 378 | vacuate_layer.CreateFeature(feat) |
| 376 | 379 | self.fill_dict[key] += 1 | ... | ... |
请
注册
或
登录
后发表评论