UPDATE
This commit is contained in:
@@ -32,7 +32,7 @@ def create_or_get_block_subdivision(
|
||||
اگر subdivision این بلوک قبلاً ساخته شده باشد همان را برمیگرداند؛
|
||||
در غیر این صورت الگوریتم grid + KMeans را اجرا و ذخیره میکند.
|
||||
"""
|
||||
from .models import BlockSubdivision
|
||||
from .models import BlockSubdivision, build_default_sub_block, ensure_block_layout_defaults
|
||||
|
||||
existing = BlockSubdivision.objects.filter(
|
||||
soil_location=location,
|
||||
@@ -244,7 +244,7 @@ def render_elbow_plot(
|
||||
|
||||
|
||||
def sync_block_layout_with_subdivision(location, subdivision) -> None:
|
||||
layout = location.block_layout or {}
|
||||
layout = ensure_block_layout_defaults(location.block_layout, block_count=location.input_block_count)
|
||||
blocks = list(layout.get("blocks") or [])
|
||||
target_block = None
|
||||
for block in blocks:
|
||||
@@ -263,7 +263,12 @@ def sync_block_layout_with_subdivision(location, subdivision) -> None:
|
||||
blocks.append(target_block)
|
||||
|
||||
target_block["needs_subdivision"] = subdivision.centroid_count > 1
|
||||
target_block["sub_blocks"] = list(subdivision.centroid_points or [])
|
||||
target_block["sub_blocks"] = list(subdivision.centroid_points or []) or [
|
||||
build_default_sub_block(
|
||||
str(target_block.get("block_code") or "block-1"),
|
||||
boundary=target_block.get("boundary") or {},
|
||||
)
|
||||
]
|
||||
target_block["subdivision_summary"] = {
|
||||
"chunk_size_sqm": subdivision.chunk_size_sqm,
|
||||
"grid_point_count": subdivision.grid_point_count,
|
||||
|
||||
Reference in New Issue
Block a user