# +
import leafmap.foliumap as leafmap
url = "https://data.source.coop/cboettig/justice40/disadvantaged-communities.pmtiles"

metadata = leafmap.pmtiles_metadata(url)
print(f"layer names: {metadata['layer_names']}")


fill = {
        'property': 'Disadvan',
        'type': 'categorical',
        'stops': [
            [0, "rgba(255, 255, 255, 0)"],
            [1, "rgba(0, 0, 139, 1)"],
        ]
        }
style = {
    "version": 8,
    "sources": {
        "source1": {
            "type": "vector",
            "url": "pmtiles://" + url,
            "attribution": "Justice40"}
    },
    "layers": [{
            "id": "layer1",
            "source": "source1",
            "source-layer": "DisadvantagedCommunitiesCEJST",
            "type": "fill",
            "paint": {"fill-color": fill, "fill-opacity": 0.8}}]
}


m = leafmap.Map(center=[35, -100], zoom=4)
m.add_pmtiles(url, name="Disadvantaged Communities", style=style, overlay=True, show=True, zoom_to_layer=False)
m.to_html("justice40.html")
m

# +
import ibis
from ibis import _

summary = (ibis
    .read_parquet("https://data.source.coop/cboettig/justice40/disadvantaged-communities.parquet")
    .group_by(_.StateName)
    .agg(fraction_disadvantaged = (_.Disadvan * _.SHAPE_Area).sum() / _.SHAPE_Area.sum())
    .order_by(ibis.desc(_.fraction_disadvantaged))
    .to_pandas()
)

summary
# -


