dragndrop_hld/oldqc/UNDERGROUND_ENDPOINTS_README.md
alex 12407b74e4 Initial commit - Stage 1 working version
Saving current working state before proceeding to Stage 2.
Includes:
- Backend: Python-based QC validator with shapefile processing
- Frontend: Drag-and-drop file upload interface
- Sample files for testing
- Documentation and revision history

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 13:43:57 -07:00

2.3 KiB

Underground Endpoint QC Feature

Overview

This feature checks that all underground segments have either a pole or an access point at both endpoints. This ensures proper network connectivity and infrastructure planning.

Implementation Details

Backend (/Backend/qc/underground_endpoints.go)

  • Main Function: CheckUndergroundEndpoints() - validates underground segments
  • API Endpoints:
    • GET /api/qc/underground-endpoints - Full QC summary
    • GET /api/qc/underground-endpoints/invalid - Only invalid segments
    • POST /api/qc/underground-endpoints/update-flags - Update QC flags in database

Frontend Integration

  • Button: "Underground Endpoint QC" button added to control panel
  • Visual Feedback: Invalid segments highlighted in purple with dashed lines
  • Popup Information: Shows segment ID, endpoint details, and specific issues

Key Features

  1. Spatial Analysis: Uses 10-meter buffer (~0.0001 degrees) to find nearby poles/access points
  2. Geometry Support: Handles both LineString and MultiLineString geometries
  3. Database Integration: Updates QC flags for invalid segments
  4. Visual Mapping: Highlights problematic segments on the map
  5. Detailed Reporting: Shows which endpoints are missing and what type of infrastructure is nearby

QC Validation Logic

For each underground segment:

  1. Extract start and end coordinates from geometry
  2. Search for poles and access points within buffer distance
  3. Check if both endpoints have adjacent infrastructure
  4. Report specific issues (missing start/end endpoints)
  5. Update database with QC flag if issues found

Usage

  1. Select a market and zone from dropdowns
  2. Click "Underground Endpoint QC" button
  3. View results in the QC result panel
  4. Invalid segments will be highlighted on the map in purple
  5. Click on highlighted segments for detailed popup information

Database Schema Requirements

  • Segments table with segment_type = 'underground' (case insensitive)
  • Poles table with point geometries
  • Access points table with point geometries
  • QC flag column for marking invalid segments

This feature follows the same patterns as other QC modules in the application and integrates seamlessly with the existing infrastructure.