
    c0i                        d Z ddlZddlZddlmZ ddlZddlZddl	m
Z d Zedk(  r) ej                  d      Zej!                  dd	
       ej#                         Zej&                  j)                         Z ed      ez  Zee dz  Zej/                         s ede         ej2                  d        edej5                          d        ej6                  ed      Zdej:                  vr ed       ded<   n) ej<                  ed   d      j?                  d      ed<   ej5                          dZ ee dz  Z! eee e!       yy)u-  
Visualize OpenStreetMap road features for a state,
colored directly by their 'layer' attribute value.

✅ Features:
 - Colors each road by its layer value (-2 .. +3)
 - Uses diverging color map (blue→green→red)
 - Handles missing values gracefully (layer=0 default)
 - Saves PNG to state folder
    N)Pathc                 V   t        j                  d      \  }}| j                  ddd|dddd	d
d       |j                  |dd       |j	                  d       t        j
                          t        j                  |dd       t        d|        t        j                  |       y)z(Plot roads colored by their layer value.)   
   )figsizelayerRdYlBu_rg333333?TzOSM Layer Valueverticalgffffff?g{Gz?)labelorientationshrinkpad)columncmap	linewidthaxlegendlegend_kwds   r   )fontsizer   offi,  tight)dpibbox_inchesu!   💾 Saved colored layer map to: N)	pltsubplotsplot	set_titleaxistight_layoutsavefigprintclose)roadstitle	save_pathfigr   s        /scripts/exploratory/visualize_layer_by_value.pyplot_layer_mapr)      s    ll8,GC 
JJ&%	
   LLL,GGENKK	s8	-i[
9:IIcN    __main__z7Visualize roads colored by their OSM 'layer' attribute.)descriptionstatezState name (e.g., alabama).)helpoutputz_roads_projected.gpkgu   ❌ File not found:    u   📦 Loading roads for z...roads_projected)r   r   u7   ⚠️ No 'layer' column found — defaulting all to 0.coerce)errorsz Road Network by OSM Layerz_road_layers.png)"__doc__argparsesyspathlibr   	geopandasgpdpandaspdmatplotlib.pyplotpyplotr   r)   __name__ArgumentParserparseradd_argument
parse_argsargsr-   lowerbase_dir
roads_pathexistsr"   exit
capitalize	read_filer$   columns
to_numericfillnar%   
output_png r*   r(   <module>rP      so  	  
    4 z$X$$MF &CDDJJEH~%Hug%:;;J$ZL12	#E$4$4$6#7s
;<CMM*,=>E emm#GHg&uW~hGNNqQg!""<=Eug%566J5%,7 r*   