正在显示
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 | ... | ... |
请
注册
或
登录
后发表评论