{"version":3,"sources":["theme.js","components/MapPins.js","components/Station-info.js","components/Map.js","components/MapStations.js","components/LegendSSC.js","components/FluviusBox.js","images/modal_graphic.png","pages/en_us/Home.js","images/amazonas.jpg","pages/en_us/About.js","images/amazon_methods.jpg","pages/en_us/Methodology.js","components/MapStationsPT.js","components/LegendSSCPT.js","components/FluviusBoxPT.js","images/modal_graphic_pt.png","pages/pt_br/Inicio.js","pages/pt_br/Sobre.js","pages/pt_br/Metodologia.js","Main.js","images/itv_tree.png","images/global_i.png","components/Navbar.js","components/NavbarPT.js","images/itv_colorida.png","images/microsoft_white.png","images/al_logo2.png","components/Footer.js","App.js","reportWebVitals.js","index.js"],"names":["theme","createMuiTheme","palette","primary","main","light","contrastText","secondary","dark","error","initial","contrastThreshold","tonalOffset","Pins","props","data","onClick","onChange","onSelectStation","map","station","index","longitude","Longitude","latitude","Latitude","height","viewBox","style","cursor","fill","stroke","strokeWidth","transform","site_name","d","React","StationInfo","name","river","borderRadius","fontSize","padding","paddingTop","mapboxgl","workerClass","require","default","geolocateStyle","top","left","fullscreenControlStyle","navStyle","scaleControlStyle","bottom","attributionStyle","right","Map","allData","popupInfo","setPopupInfo","setSelectValue","viewport","setViewport","tiles","setTiles","axios","get","then","res","bingLoc","resourceSets","resources","imageUrl","bingSubdomains","imageUrlSubdomains","sd","replace","catch","err","console","log","mapStyle","sources","thisyear","String","Date","getFullYear","width","attributionControl","onViewportChange","mapboxApiAccessToken","tipSize","anchor","closeButton","closeOnClick","onOpen","nearest_river","compact","customAttribution","useStyles","makeStyles","formControlPaper","backgroundColor","formControl","margin","spacing","marginTop","marginLeft","marginRight","marginBottom","color","darkLabel","darkUnderline","darkInkbar","selectEmpty","box","minWidth","minHeight","stationDetails","fontWeight","MapStations","classes","selectValue","stationName","a","Paper","elevation","className","FormControl","variant","FormControlClasses","focused","InputLabel","htmlFor","Select","id","defaultValue","value","event","preventDefault","loadAllData","target","find","label","MenuItem","Typography","nearest_city","region","colorsConnect","background","paddingBottom","outlineStyle","outlineWidth","outlineColor","legend","Legend","Grid","container","item","xs","align","containerBox","graphTitle","FluviusBox","data2","cameraPic","setCameraPic","CustomTooltip","active","payload","length","Number","parseFloat","toFixed","Box","display","flexWrap","flexDirection","justifyContent","flexGrow","ResponsiveContainer","LineChart","syncId","onMouseMove","imageData","activeLabel","undefined","CartesianGrid","strokeDasharray","XAxis","ticks","dataKey","domain","tickFormatter","timestamp","moment","format","type","scale","Label","offset","position","YAxis","angle","textAnchor","Line","activeDot","r","Tooltip","content","src","alt","homestyle","modaltitle","centertypography","modstyle","maxHeight","maxWidth","border","Home","modal_en_open","modal_en_setOpen","useState","setAllData","cirPic","setCirPic","swirPic","setSwirPic","satellitePic","setSatellitePic","zoom","bearing","pitch","pin","transitionInterpolator","FlyToInterpolator","speed","transitionDuration","useEffect","Modal","open","onClose","alignItems","component","class","modalgraphic","md","sm","Object","keys","text","About","amazonas","link","Methodology","rel","href","amazon_methods","MapStationsPT","LegendSSCPT","FluviusBoxPT","Inicio","modal_pt_open","modal_pt_setOpen","Sobre","Metodologia","Main","path","element","root","title","breakpoints","up","pic","modal","toggle","lefttoggle","button","fakebutton","visibility","Navbar","location","useLocation","port_eqv","pathname","includes","isHome","handleOpen","trees","Button","info","exact","isActive","to","alignItmes","Footer","itvlogo","msftlogo","allogo2","head","borderBottom","zIndex","foot","borderTop","App","portuguese","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","ThemeProvider","document","getElementById"],"mappings":"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","file":"static/js/main.3a6432e1.chunk.js","sourcesContent":["import { createMuiTheme } from \"@material-ui/core/styles\";\n\n// Based on CSP aesthetics Guide\n\nconst theme = createMuiTheme({\n palette: {\n primary: {\n main: \"#636466\", //AL Grey\n // main: \"rgb(0, 73, 131)\", //CSP Blue\n light: \"rgb(81, 118, 164)\", //Denim Blue\n contrastText: \"#ffffff\", //white\n },\n secondary: {\n main: \"rgb(190, 215, 71)\", //Bright Green\n light: \"rgb(206, 216, 215)\", //pale grey-green\n dark: \"rgb(107, 179, 150)\", //blue tinted forest green\n contrastText: \"#000000\", //black\n },\n error: {\n light: \"rgb(207, 31, 837)\", //red\n main: \"rgb(226, 85, 38)\", //dark tangerine\n dark: \"rgb(26, 32, 44)\", //black\n contrastText: \"#fffff\", //white\n },\n initial: {\n main: \"#cccccc\", //light grey\n contrastText: \"#000000\", //black\n },\n },\n contrastThreshold: 3,\n tonalOffset: 0.2,\n // typography: {\n // fontFamily: \"Roboto\",\n // }\n});\n\nexport default theme;\n","import * as React from 'react';\nimport {Marker} from 'react-map-gl';\n\nconst ICON = `M20.2,15.7L20.2,15.7c1.1-1.6,1.8-3.6,1.8-5.7c0-5.6-4.5-10-10-10S2,4.5,2,10c0,2,0.6,3.9,1.6,5.4c0,0.1,0.1,0.2,0.2,0.3\n c0,0,0.1,0.1,0.1,0.2c0.2,0.3,0.4,0.6,0.7,0.9c2.6,3.1,7.4,7.6,7.4,7.6s4.8-4.5,7.4-7.5c0.2-0.3,0.5-0.6,0.7-0.9\n C20.1,15.8,20.2,15.8,20.2,15.7z`;\n\nconst SIZE = 20;\n\n// Important for perf: the markers never change, avoid rerender when the map viewport changes\nfunction Pins(props) {\n const {data, onClick, onChange, onSelectStation} = props;\n\n return data.map((station, index) => (\n \n {onSelectStation(station); onClick(station)}}\n onChange={() => onChange(station.site_name)}\n >\n \n \n \n ));\n}\n\nexport default React.memo(Pins);","import * as React from 'react';\n\nfunction StationInfo(props) {\n const name = props.name;\n const river = props.river;\n\n return (\n
\n
\n {name}

\n {river}\n
\n
\n );\n}\n\nexport default React.memo(StationInfo);\n","import * as React from 'react';\nimport MapGL, { Popup, NavigationControl, FullscreenControl, ScaleControl, GeolocateControl, AttributionControl} from 'react-map-gl';\nimport mapboxgl from \"mapbox-gl\";\nimport axios from 'axios';\n\n//Components\nimport Pins from './MapPins';\nimport StationInfo from './Station-info';\nimport mapStyle from \"./MapStyle.json\"\n// import MapTitle from './MapTitle';\n\nconst TOKEN = 'pk.eyJ1Ijoia212YW5uZXN0ZSIsImEiOiJja2puOTkzejEycnJzMnFwZ2hlYWptN3hlIn0.17FCOOngf5KK1Hs8BVmz7Q'; \n\n// eslint-disable-next-line import/no-webpack-loader-syntax\nmapboxgl.workerClass = require(\"worker-loader!mapbox-gl/dist/mapbox-gl-csp-worker\").default;\n\nconst geolocateStyle = {\n top: 0,\n left: 0,\n padding: '10px'\n};\n\nconst fullscreenControlStyle = {\n top: 36,\n left: 0,\n padding: '10px'\n};\n\nconst navStyle = {\n top: 72,\n left: 0,\n padding: '10px'\n};\n\nconst scaleControlStyle = {\n bottom: 36,\n left: 0,\n padding: '10px'\n};\n\nconst attributionStyle = {\n bottom: 0,\n right: 0,\n padding: '10px'\n};\n\nconst Map = (props) => {\n const allData = props.allData\n const popupInfo = props.popupInfo\n const setPopupInfo = props.setPopupInfo\n const setSelectValue = props.setSelectValue\n const viewport = props.viewport\n const setViewport = props.setViewport\n const [tiles, setTiles]= React.useState([])\n\n const onSelectStation = props.onSelectStation\n\n React.useEffect(() => {\n axios.get('https://dev.virtualearth.net/REST/V1/Imagery/Metadata/Aerial?output=json&include=ImageryProviders&key=AlYwW4NFHWBCGkGWAQ3qeuTv6ry7Dge7um3o9cKEu56Hio2DYkZFtbIqrxRR8l9l')\n .then(res=> {\n\tlet bingLoc = res.data.resourceSets[0].resources[0].imageUrl;\n\tlet bingSubdomains = res.data.resourceSets[0].resources[0].imageUrlSubdomains;\n\tif (bingLoc && bingSubdomains) {\n\tsetTiles(bingSubdomains.map(\n\t\tsd => (bingLoc.replace('{subdomain}', sd).replace('http','https'))\n\t));\n\t}\n })\n .catch(err => {\n console.log(err);\n })\n}, [])\n\n if (tiles) {\n mapStyle.sources['mapbox://mapbox.satellite'].tiles = tiles;\n console.log(mapStyle.sources['mapbox://mapbox.satellite'].tiles);\n }\n\n const thisyear = \"© Microsoft \" + String(new Date().getFullYear());\n return (\n <>\n {mapStyle.sources['mapbox://mapbox.satellite'].tiles[0] ?\n \n \n\n {popupInfo.Longitude && (\n \n \n \n )}\n\n \n \n \n \n\t\n\n : null }\n\n \n );\n}\n\nexport default Map;\n","import React from \"react\";\nimport { InputLabel, FormControl, Select, Paper, Typography, MenuItem } from '@material-ui/core';\nimport {makeStyles} from '@material-ui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n formControlPaper: {\n backgroundColor: \"#000000\"\n }, \n formControl: {\n margin: theme.spacing(3),\n width: '490px',\n marginTop: '45px',\n marginLeft: '25px',\n marginRight: '25px',\n marginBottom: '-15px',\n backgroundColor: \"#000\",\n color: \"#fff\"\n },\n darkLabel: {\n backgroundColor: \"#000\",\n color: '#fff',\n },\n darkUnderline: {\n '&:hover:not($disabled):before': {\n backgroundColor: '#000', \n color: \"#fff\" \n },\n },\n darkInkbar: {\n '&:after': {\n backgroundColor: '#000',\n color: \"#fff\" \n },\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n box: {\n minWidth: 500,\n minHeight: 575,\n backgroundColor: \"black\"\n },\n stationDetails: {\n width: \"430px\",\n marginLeft: \"30px\",\n color: \"white\",\n fontWeight: 800,\n padding: \"25px\",\n backgroundColor: \"black\"\n }\n }));\n\nconst MapStations = (props) => {\n const classes = useStyles();\n const {allData, popupInfo, setPopupInfo, selectValue, setSelectValue, onSelectStation} = props;\n\n async function loadAllData(stationName) {\n return setSelectValue(stationName); \n }\n \n const handleChange = (event) => {\n event.preventDefault();\n loadAllData(event.target.value);\n console.log(\"event.target.value\", console.log(event.target.value))\n setPopupInfo(allData.find( ({site_name}) => site_name === event.target.value))\n setSelectValue(allData.find( ({site_name}) => site_name === event.target.value))\n onSelectStation(allData.find( ({site_name}) => site_name === event.target.value))\n };\n\n return (\n <>\n \n \n \n Select a station:\n \n {allData.map((station, index) => (\n {station.site_name}\n ))}\n \n \n \n\n \n

\n \n Name:    {popupInfo.site_name}\n
\n Latitude:    {popupInfo.Latitude}\n
\n Longitude:    {popupInfo.Longitude}\n
\n Nearest City:    {popupInfo.nearest_city}\n
\n Nearest River:    {popupInfo.nearest_river}\n
\n Station Owner:    {popupInfo.region}\n
\n
\n
\n\n
\n \n );\n};\n\nexport default MapStations;\n","import React from 'react'\nimport { makeStyles } from \"@material-ui/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst useStyles = makeStyles({\n colorsConnect: {\n background:\n \"linear-gradient(to right, black, red, orange, yellow, white)\",\n paddingBottom: \"16px\",\n marginTop: \"5px\",\n marginBottom: \"3px\",\n outlineStyle: \"solid\",\n outlineWidth: \"1px\",\n outlineColor: \"grey\"\n },\n legend: {\n width: \"175px\",\n fontSize: \"14px\",\n fontWeight: 400\n }\n});\n\nexport default function Legend () {\n const classes = useStyles();\n\n return (\n
\n
\n \n\n \n \n SSC (mg/L)\n \n \n\n \n
\n
\n\n \n 5\n \n\n \n \n\n \n ≥100\n \n\n
\n
\n
\n );\n}\n\n","import React from \"react\";\nimport {Typography, Box} from \"@material-ui/core\";\nimport {LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Label} from \"recharts\";\nimport {makeStyles} from '@material-ui/styles';\nimport moment from 'moment';\nimport LegendSSC from \"./LegendSSC\";\n\nconst useStyles = makeStyles((theme) => ({\n containerBox: {\n padding: \"10px\",\n backgroundColor: \"#000000\",\n color: \"white\"\n },\n graphTitle: {\n marginBottom: \"20px\",\n }\n}));\n\nconst FluviusBox = (props) => {\n const classes = useStyles();\n const data = props.popupInfo[\"sample_data\"];\n const data2 = props.popupInfo[\"predictions\"];\n console.log(\"data2\", data2)\n console.log(\"data\", data);\n const popupInfo = props.popupInfo;\n const cameraPic = props.cameraPic;\n const setCameraPic = props.setCameraPic;\n\n const displayPictures = (event) => {\n let imageData = data2.find((item) => item['timestamp'] === event.activeLabel) || '' || undefined\n\n if (typeof imageData !== 'undefined' && typeof event.activeLabel !== undefined) {\n setCameraPic(imageData[\"pred_chip\"])\n }\n }\n\n const CustomTooltip = ({ active, payload, label }) => {\n if (active && payload && payload.length) {\n return (\n
\n

{Number.parseFloat(payload[0].value).toFixed(1)} mg/L

\n
\n )\n }\n\n return null;\n }\n\n return (\n <>\n \n\n \n Suspended Sediment Concentration at Station {popupInfo.site_name}\n \n \n \n moment(timestamp).format('YYYY')} type='number' scale=\"time\" >\n \n \n \n\n \n } />\n \n \n \n\n \n

\n

\n\t {cameraPic.length ?\n\t\t <>\n \"\n\n
\n \n
\n : <> }\n
\n\n\n \n \n );\n};\n\nexport default FluviusBox;\n","export default __webpack_public_path__ + \"static/media/modal_graphic.f1446764.png\";","import React, {useState, useEffect} from 'react'\nimport \"../../App.css\";\nimport Map from \"../../components/Map\";\nimport MapStations from \"../../components/MapStations\"\nimport FluviusBox from \"../../components/FluviusBox\"\nimport modalgraphic from \"../../images/modal_graphic.png\";\nimport {Box, Typography, Modal} from \"@material-ui/core\";\nimport {FlyToInterpolator} from 'react-map-gl';\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport axios from 'axios';\n\nconst useStyles = makeStyles((theme) => ({\n\thomestyle: {\n paddingTop: '1vh', \n\t},\n\tmodaltitle: {\n margin: '1vh', \n\t fontSize: 'calc(40% + 0.85vh + 0.05vw)',\n\t},\n\tcentertypography: {\n margin: '1vh', \n\t fontSize: 'calc(35% + 0.70vh + 0.05vw)',\n\t},\n\tmodstyle: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n height: 'auto',\n\t maxHeight: '80vh',\n width: 'auto',\n\t maxWidth: '70vw',\n backgroundColor: 'white',\n\t color: 'black',\n border: '1vh solid white',\n\t display: \"flex\",\n\t flexDirection: \"column\",\n\t},\n}));\n\nfunction Home(props) {\n const classes = useStyles();\n const {modal_en_open, modal_en_setOpen} = props;\n const handleClose = () => modal_en_setOpen(false);\n const [allData, setAllData]= useState([])\n const [popupInfo, setPopupInfo] = useState({});\n const [selectValue, setSelectValue] = useState('')\n const [cameraPic, setCameraPic] = useState('');\n const [cirPic, setCirPic] = useState('');\n const [swirPic, setSwirPic] = useState('');\n const [satellitePic, setSatellitePic] = useState('');\n const [viewport, setViewport] = useState({\n latitude: -12,\n longitude: -50,\n zoom: 3.5,\n bearing: 0,\n pitch: 0\n });\n\n async function onSelectStation(pin) {\n setViewport({\n latitude: pin.Latitude,\n longitude: pin.Longitude,\n zoom: 8,\n transitionInterpolator: new FlyToInterpolator({speed: 1.2}),\n transitionDuration: 'auto'\n })\n };\n\n useEffect(() => {\n setCameraPic('');\n setCirPic('');\n setSwirPic('');\n setSatellitePic('');\n }, [popupInfo])\n\n useEffect(() => {\n axios.get('https://fluviusdata.blob.core.windows.net/app/all_data_v5.json')\n .then(res=> {\n setAllData(res.data);\n })\n .catch(err => {\n console.log(err);\n })\n}, [])\n\n return (\n \n \n \n \n Welcome to the Fluvius interactive map! \n \n \n Explore the page to display predictions of suspended sediment over time within various water quality stations in the Itacaiúnas River Basin (BHRI). These estimates of suspended sediment concentration (SSC) are driven by a deep learning (AI) model using data from Microsoft Planetary Computer and satellite imagery provided by the European Space Agency (Sentinel-2). Below is a diagram of how to navigate the page.\n \n \"\"\n \n \n \n \n \n \n\n \n \n \n \n\n {Object.keys(popupInfo).length === 0 && (\n \n

Select a station by clicking a red marker on the map or from the dropdown menu.

\n
\n )}\n\n {Object.keys(popupInfo).length !== 0 && (\n \n \n \n )}\n\n
\n );\n}\n\nexport default Home;\n","export default __webpack_public_path__ + \"static/media/amazonas.3e478039.jpg\";","import \"../../App.css\";\nimport {Box, Paper, Typography} from \"@material-ui/core\";\nimport {makeStyles} from '@material-ui/styles';\nimport amazonas from \"../../images/amazonas.jpg\";\n\nconst useStyles = makeStyles((theme) => ({\n box: {\n minWidth: 900,\n color: \"white\",\n backgroundColor: \"black\",\n\tmarginTop: '2%',\n\tmarginLeft: '10%',\n\tmarginRight: '10%'\n },\n text: {\n fontSize: 20\n }\n }));\n\nconst About = () => {\n const classes = useStyles();\n return (\n \n \n \n\t About the Project\n\t\n \n

The process of soil erosion involves the removal of soil materials from a site by natural and anthropogenic factors. Natural factors include wind and water, but human activity -- deforestation, for instance -- can increase rates of erosion well above natural, background levels. Increased erosion causes environmental damage, including greater sediment loads in the watershed, which in turn negatively impact water quality and aquatic ecosystems, in addition to creating social and economic losses. Traditionally, sediment loads are monitored by assessing the concentration of sediment suspended in water samples. However, ground-based measurements can be slow, hazardous, and costly to obtain, and produce sparse datasets that make monitoring and change detection difficult. Improving our understanding of hydrosedimentological processes will require higher frequency information at much larger spatial extents. The use of satellite imagery to characterize sediment loads is a well-recognized, increasingly effect complement to ground-based sampling. The fluvius project aims to develop tools to monitor hydrosedimenological processes in rivers, including suspended sediment. We improve on ground-based observations by using Artificial Intelligence models to make predictions of suspended sediment at any site and any time for which there is reliable imagery. A pilot study is being carried out in the Itacaiúnas River Basin (BHRI). Preliminary results highlight the potential of the approach, enabling future expansion of monitoring for the entire Amazon basin.

\n
\n \n \"\"\n \n
\n
\n );\n}\n\nexport default About;\n","export default __webpack_public_path__ + \"static/media/amazon_methods.db232ef2.jpg\";","import \"../../App.css\";\nimport {Box, Paper, Typography} from \"@material-ui/core\";\nimport {makeStyles} from '@material-ui/styles';\nimport amazon_methods from \"../../images/amazon_methods.jpg\";\n\nconst useStyles = makeStyles((theme) => ({\n box: {\n minWidth: 900,\n color: \"white\",\n backgroundColor: \"black\",\n\tmarginTop: '2%',\n\tmarginLeft: '10%',\n\tmarginRight: '10%'\n },\n text: {\n fontSize: 20\n },\n link: {\n color:\"#5083CC\",\n }\n }));\n\nconst Methodology = () => {\n const classes = useStyles();\n return (\n \n \n \n\t Methodology\n\t\n \n

The goal of the Fluvius project is to enable estimation of water quality given satellite imagery of rivers. One major metric of water quality monitoring is the measure of suspended sediment concentration (SSC), which is the measure of solid-phase material within a fixed water column. SSC analysis is a common indicator of water quality for aquatic and riparian systems because sediment is the most widespread cause of impairment of rivers and streams, lakes, reservoirs, ponds, and estuaries. As SSC in water increases or decreases due to landscape level modification such as deforestation or presence of agriculture, the visual quality of the water changes as well.

\n\t

In this analysis ITV, in collaboration with CSP and Microsoft, used satellite based images called image “chips” that were taken at the same location and time of sampling on the ground from gaging stations. We used the light characteristics of these images chips and field measurements to train and validate a deep learning model. With this properly trained model, we can make predictions of SSC not only for sites and times at which we have ground-based measurements, but also to sites and times at which such measurements are lacking entirely.

\n
\n \n\t The Data\n\t\n \n\t

The source data for this modeling effort came from in-situ (ground based) observations of from rivers and streams in both Brazil and the United States. We compiled data from ITV, ANA, and the USGS and converted SSC measurements for each to units of milligrams per liter (mg/L). Each SSC observation has associated metadata and coordinates describing the time and site at which the measurement was taken. We used geolocation and timestamp information to associate each observation with a Sentinel 2 satellite image to use for model training, wherein the spectral characteristics within water pixels in the image chip were features in the model, and the associated SSC measurement (log-transformed) is the response. We used data from the Sentinel-2 L2A image archived in the Microsoft Planetary Computer.

\n
\n \n\t The Model\n\t\n \n\t

We trained a deep learning model, specifically a Deep Neural Network, using the feature data we extracted for the observations using the PyTorch library in Python. Following the identification of the top model, we extracted image chips for the entire Sentinel-2 L2A archive at each Brazilian water monitoring station to deploy our model and generate time series predictions of SSC.

\n\t

More information on methods and results can be found in our report.

\n
\n \n \"\"\n \n
\n
\n );\n}\n\nexport default Methodology;\n","import React from \"react\";\nimport { InputLabel, FormControl, Select, Paper, Typography, MenuItem } from '@material-ui/core';\nimport {makeStyles} from '@material-ui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n formControlPaper: {\n backgroundColor: \"#000000\"\n }, \n formControl: {\n margin: theme.spacing(3),\n width: '490px',\n marginTop: '45px',\n marginLeft: '25px',\n marginRight: '25px',\n marginBottom: '-15px',\n backgroundColor: \"#000\",\n color: \"#fff\"\n },\n darkLabel: {\n backgroundColor: \"#000\",\n color: '#fff',\n },\n darkUnderline: {\n '&:hover:not($disabled):before': {\n backgroundColor: '#000', \n color: \"#fff\" \n },\n },\n darkInkbar: {\n '&:after': {\n backgroundColor: '#000',\n color: \"#fff\" \n },\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n box: {\n minWidth: 500,\n minHeight: 575,\n backgroundColor: \"black\"\n },\n stationDetails: {\n width: \"430px\",\n marginLeft: \"30px\",\n color: \"white\",\n fontWeight: 800,\n padding: \"25px\",\n backgroundColor: \"black\"\n }\n }));\n\nconst MapStationsPT = (props) => {\n const classes = useStyles();\n const {allData, popupInfo, setPopupInfo, selectValue, setSelectValue, onSelectStation} = props;\n\n async function loadAllData(stationName) {\n return setSelectValue(stationName); \n }\n \n const handleChange = (event) => {\n event.preventDefault();\n loadAllData(event.target.value);\n console.log(\"event.target.value\", console.log(event.target.value))\n setPopupInfo(allData.find( ({site_name}) => site_name === event.target.value))\n setSelectValue(allData.find( ({site_name}) => site_name === event.target.value))\n onSelectStation(allData.find( ({site_name}) => site_name === event.target.value))\n };\n\n return (\n <>\n \n \n \n Selecione uma estação:\n \n {allData.map((station, index) => (\n {station.site_name}\n ))}\n \n \n \n\n \n

\n \n Nome:    {popupInfo.site_name}\n
\n Latitude:    {popupInfo.Latitude}\n
\n Longitude:    {popupInfo.Longitude}\n
\n Cidade Mais Próxima:    {popupInfo.nearest_city}\n
\n Rio Mais Próximo:    {popupInfo.nearest_river}\n
\n Dono da estação:    {popupInfo.region}\n
\n
\n
\n\n
\n \n );\n};\n\nexport default MapStationsPT;\n","import React from 'react'\nimport { makeStyles } from \"@material-ui/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst useStyles = makeStyles({\n colorsConnect: {\n background:\n \"linear-gradient(to right, black, red, orange, yellow, white)\",\n paddingBottom: \"16px\",\n marginTop: \"5px\",\n marginBottom: \"3px\",\n outlineStyle: \"solid\",\n outlineWidth: \"1px\",\n outlineColor: \"grey\"\n },\n legend: {\n width: \"175px\",\n fontSize: \"14px\",\n fontWeight: 400\n }\n});\n\nexport default function LegendSSCPT () {\n const classes = useStyles();\n\n return (\n
\n
\n \n\n \n \n CSS (mg/L)\n \n \n\n \n
\n
\n\n \n 5\n \n\n \n \n\n \n ≥100\n \n\n
\n
\n
\n );\n}\n\n","import React from \"react\";\nimport {Typography, Box} from \"@material-ui/core\";\nimport {LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Label} from \"recharts\";\nimport {makeStyles} from '@material-ui/styles';\nimport moment from 'moment';\nimport LegendSSCPT from \"./LegendSSCPT\";\n\nconst useStyles = makeStyles((theme) => ({\n containerBox: {\n padding: \"10px\",\n backgroundColor: \"#000000\",\n color: \"white\"\n },\n graphTitle: {\n marginBottom: \"20px\",\n }\n}));\n\nconst FluviusBoxPT = (props) => {\n const classes = useStyles();\n const data = props.popupInfo[\"sample_data\"];\n const data2 = props.popupInfo[\"predictions\"];\n console.log(\"data2\", data2)\n console.log(\"data\", data);\n const popupInfo = props.popupInfo;\n const cameraPic = props.cameraPic;\n const setCameraPic = props.setCameraPic;\n\n const displayPictures = (event) => {\n let imageData = data2.find((item) => item['timestamp'] === event.activeLabel) || '' || undefined\n\n if (typeof imageData !== 'undefined' && typeof event.activeLabel !== undefined) {\n setCameraPic(imageData[\"pred_chip\"])\n }\n }\n\n const CustomTooltip = ({ active, payload, label }) => {\n if (active && payload && payload.length) {\n return (\n
\n

{Number.parseFloat(payload[0].value).toFixed(1)} mg/L

\n
\n )\n }\n\n return null;\n }\n\n return (\n <>\n \n\n \n Concentração de Sedimentos em Suspensão na Estação {popupInfo.site_name}\n \n \n \n moment(timestamp).format('YYYY')} type='number' scale=\"time\" >\n \n \n \n\n \n } />\n \n \n \n\n \n

\n

\n\t {cameraPic.length ?\n <>\n \"\n\n
\n \n
\n : <> }\n
\n\n\n \n \n );\n};\n\nexport default FluviusBoxPT;\n","export default __webpack_public_path__ + \"static/media/modal_graphic_pt.5eec512d.png\";","import React, {useState, useEffect} from 'react'\nimport \"../../App.css\";\nimport Map from \"../../components/Map\";\nimport MapStationsPT from \"../../components/MapStationsPT\"\nimport FluviusBoxPT from \"../../components/FluviusBoxPT\"\nimport modalgraphic from \"../../images/modal_graphic_pt.png\";\nimport {Box, Typography, Modal} from \"@material-ui/core\";\nimport {FlyToInterpolator} from 'react-map-gl';\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport axios from 'axios';\n\nconst useStyles = makeStyles((theme) => ({\n\thomestyle: {\n paddingTop: '1vh', \n\t},\n\tmodaltitle: {\n margin: '1vh', \n\t fontSize: 'calc(40% + 0.85vh + 0.05vw)',\n\t},\n\tcentertypography: {\n margin: '1vh', \n\t fontSize: 'calc(35% + 0.70vh + 0.05vw)',\n\t},\n\tmodstyle: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n height: 'auto',\n\t maxHeight: '80vh',\n width: 'auto',\n\t maxWidth: '70vw',\n backgroundColor: 'white',\n\t color: 'black',\n border: '1vh solid white',\n\t display: \"flex\",\n\t flexDirection: \"column\",\n\t},\n}));\n\nfunction Inicio(props) {\n const classes = useStyles();\n const {modal_pt_open, modal_pt_setOpen} = props;\n const handleClose = () => modal_pt_setOpen(false);\n const [allData, setAllData]= useState([])\n const [popupInfo, setPopupInfo] = useState({});\n const [selectValue, setSelectValue] = useState('')\n const [cameraPic, setCameraPic] = useState('');\n const [cirPic, setCirPic] = useState('');\n const [swirPic, setSwirPic] = useState('');\n const [satellitePic, setSatellitePic] = useState('');\n const [viewport, setViewport] = useState({\n latitude: -12,\n longitude: -50,\n zoom: 3.5,\n bearing: 0,\n pitch: 0\n });\n\n async function onSelectStation(pin) {\n setViewport({\n latitude: pin.Latitude,\n longitude: pin.Longitude,\n zoom: 8,\n transitionInterpolator: new FlyToInterpolator({speed: 1.2}),\n transitionDuration: 'auto'\n })\n };\n\n useEffect(() => {\n setCameraPic('');\n setCirPic('');\n setSwirPic('');\n setSatellitePic('');\n }, [popupInfo])\n\n useEffect(() => {\n axios.get('https://fluviusdata.blob.core.windows.net/app/all_data_v5.json')\n .then(res=> {\n setAllData(res.data);\n })\n .catch(err => {\n console.log(err);\n })\n}, [])\n\n return (\n \n \n \n \n Bem-vindo ao mapa interativo do Fluvius! \n \n \n Explore a página para exibir as previsões de sedimentos em suspensão ao longo do tempo em várias estações de qualidade da água na Bacia do Rio Itacaiúnas (BHRI). Essas estimativas da concentração de sedimentos suspensos (CSS) são conduzidas por um modelo de aprendizado profundo (AI) usando dados do Microsoft Planetary Computer e imagens de satélite fornecidas pela Agência Espacial Européia (Sentinel-2). Abaixo está um diagrama de como navegar na página.\n \n \"\"\n \n \n \n \n \n \n\n \n \n \n \n\n {Object.keys(popupInfo).length === 0 && (\n \n

Selecione uma estação clicando em um marcador vermelho no mapa ou no menu suspenso.

\n
\n )}\n\n {Object.keys(popupInfo).length !== 0 && (\n \n \n \n )}\n\n
\n );\n}\n\nexport default Inicio;\n","import \"../../App.css\";\nimport {Box, Paper, Typography} from \"@material-ui/core\";\nimport {makeStyles} from '@material-ui/styles';\nimport amazonas from \"../../images/amazonas.jpg\";\n\nconst useStyles = makeStyles((theme) => ({\n box: {\n minWidth: 900,\n color: \"white\",\n backgroundColor: \"black\",\n\tmarginTop: '2%',\n\tmarginLeft: '10%',\n\tmarginRight: '10%'\n },\n text: {\n fontSize: 20\n }\n }));\n\nconst Sobre = () => {\n const classes = useStyles();\n return (\n \n \n \n\t Sobre o Projeto\n\t\n \n

O processo de erosão do solo envolve a remoção de materiais do solo de um local por fatores naturais e antrópicos. Fatores naturais incluem vento e água, mas a atividade humana – desmatamento, por exemplo – pode aumentar as taxas de erosão bem acima dos níveis naturais de fundo. O aumento da erosão causa danos ambientais, incluindo maiores cargas de sedimentos na bacia, que por sua vez impactam negativamente na qualidade da água e nos ecossistemas aquáticos, além de gerar prejuízos sociais e econômicos. Tradicionalmente, as cargas de sedimentos são monitoradas por meio da avaliação da concentração de sedimentos em suspensão nas amostras de água. No entanto, medições terrestres podem ser lentas, perigosas e caras para obter, e produzem conjuntos de dados esparsos que dificultam o monitoramento e a detecção de alterações. Melhorar nossa compreensão dos processos hidrossedimentológicos exigirá informações de frequência mais alta em extensões espaciais muito maiores. O uso de imagens de satélite para caracterizar cargas de sedimentos é um complemento bem reconhecido e cada vez mais eficaz para a amostragem terrestre. O projeto fluvius visa desenvolver ferramentas para monitorar processos hidrossedimenológicos em rios, incluindo sedimentos em suspensão. Melhoramos as observações terrestres usando modelos de Inteligência Artificial para fazer previsões de sedimentos suspensos em qualquer local e a qualquer momento para o qual haja imagens confiáveis. Um estudo piloto está sendo realizado na Bacia do Rio Itacaiúnas (BHRI). Os resultados preliminares destacam o potencial da abordagem, possibilitando futura expansão do monitoramento para toda a bacia amazônica.

\n
\n \n \"\"\n \n
\n
\n );\n}\n\nexport default Sobre;\n","import \"../../App.css\";\nimport {Box, Paper, Typography} from \"@material-ui/core\";\nimport {makeStyles} from '@material-ui/styles';\nimport amazon_methods from \"../../images/amazon_methods.jpg\";\n\nconst useStyles = makeStyles((theme) => ({\n box: {\n minWidth: 900,\n color: \"white\",\n backgroundColor: \"black\",\n\tmarginTop: '2%',\n\tmarginLeft: '10%',\n\tmarginRight: '10%'\n },\n text: {\n fontSize: 20\n },\n link: {\n color:\"#5083CC\",\n }\n }));\n\nconst Metodologia = () => {\n const classes = useStyles();\n return (\n \n \n \n\t Metodologia\n\t\n \n

O objetivo do projeto Fluvius é permitir a estimativa da qualidade da água a partir de imagens de satélite dos rios. Uma métrica importante do monitoramento da qualidade da água é a medida da concentração de sedimentos em suspensão (CSS), que é a medida do material em fase sólida dentro de uma coluna de água fixa. A análise CSS é um indicador comum da qualidade da água para sistemas aquáticos e ribeirinhos porque o sedimento é a causa mais comum de comprometimento de rios e córregos, lagos, reservatórios, lagoas e estuários. À medida que o CSS na água aumenta ou diminui devido à modificação do nível da paisagem, como desmatamento ou presença de agricultura, a qualidade visual da água também muda.

\n

Nesta análise, a ITV, em colaboração com a CSP e a Microsoft, usou imagens baseadas em satélite chamadas “chips” de imagem que foram tiradas no mesmo local e horário da amostragem CSS no solo das estações de medição. Usamos as características de luz desses chips de imagens e medições de campo para treinar e validar um modelo de aprendizado profundo. Com este modelo devidamente treinado, podemos fazer previsões de CSS não apenas para locais e horários em que temos medições terrestres, mas também para locais e horários em que tais medições estão totalmente ausentes.

\n
\n \n Os Dados\n \n \n

Os dados de origem para este esforço de modelagem vieram de observações in situ (baseadas no solo) de CSS de rios e córregos no Brasil e nos Estados Unidos. Compilamos dados de ITV, ANA e USGS e medidas de CSS convertidas para cada unidade de miligramas por litro (mg/L). Cada observação do CSS tem metadados e coordenadas associados que descrevem a hora e o local em que a medição foi feita. Usamos informações de geolocalização e carimbo de data/hora para associar cada observação a um Sentinel 2 imagem de satélite a ser usada para treinamento do modelo, em que as características espectrais dentro dos pixels de água no chip de imagem eram características no modelo e a medição CSS associada (transformada em log) é a resposta. Usamos dados da imagem Sentinel-2 L2A arquivada no Microsoft Planetary Computer< /a>.

\n
\n \n O Modelo\n \n \n

Treinamos um modelo de aprendizado profundo, especificamente um Deep Neural Network, usando os dados de recursos que extraímos para as observações CSS usando a biblioteca PyTorch em Python. Após a identificação do modelo superior, extraímos chips de imagem para todo o arquivo Sentinel-2 L2A em cada estação brasileira de monitoramento de água para implantar nosso modelo e gerar previsões de séries temporais de CSS.

\n

Mais informações sobre métodos e resultados podem ser encontradas em nosso relatório.

\n \n \"\"\n \n
\n
\n );\n}\n\nexport default Metodologia;\n","import React from 'react';\nimport { Routes, Route } from 'react-router-dom';\n\nimport Home from './pages/en_us/Home';\nimport About from './pages/en_us/About';\nimport Methodology from './pages/en_us/Methodology';\nimport Inicio from './pages/pt_br/Inicio';\nimport Sobre from './pages/pt_br/Sobre';\nimport Metodologia from './pages/pt_br/Metodologia';\n\nconst Main = (props) => {\n const {modal_en_open, modal_en_setOpen, modal_pt_open, modal_pt_setOpen} = props;\n return (\n \n }>\n }>\n }>\n }>\n }>\n }>\n }>\n \n );\n}\n\nexport default Main;\n","export default __webpack_public_path__ + \"static/media/itv_tree.f85cf102.png\";","export default \"data:image/png;base64,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\"","import React from \"react\";\nimport { NavLink, useLocation } from \"react-router-dom\";\nimport {Box, Button} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport trees from \"../images/itv_tree.png\";\nimport info from \"../images/global_i.png\";\nimport \"./Navbar.css\"\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n backgroundColor: \"black\",\n },\n title: {\n flexGrow: 15,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n paddingTop: \"1.5vh\",\n color: \"white\"\n },\n pic: {\n flexGrow: 1,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n color: \"white\"\n },\n modal: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n paddingTop: \"10px\",\n alignItems: \"flex-end\",\n },\n toggle: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n paddingTop: \"1.5vh\",\n alignItems: \"flex-end\",\n color: \"white\"\n },\n lefttoggle: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"4vh\",\n marginTop: \"0.2vh\",\n color: \"white\"\n },\n button: {\n fontSize: \"2vh\",\n color: \"white\"\n },\n fakebutton: {\n fontSize: \"2vh\",\n visibility: \"hidden\",\n color: \"white\"\n },\n}));\n\nexport default function Navbar(props) {\n const {modal_en_setOpen, modal_pt_setOpen} = props;\n const location = useLocation();\n const port_eqv = (String(location.pathname).includes(\"about\") ? \"sobre\" : String(location.pathname).includes(\"methodology\") ? \"metodologia\" : \"inicio\" ); \n const isHome = (String(location.pathname).includes(\"about\") ? false : String(location.pathname).includes(\"methodology\") ? false : true); \n const classes = useStyles();\n const handleOpen = () => modal_en_setOpen(true);\n const handleOpenPT = () => modal_pt_setOpen(true);\n\n return (\n \n \n \"\"\n \n \n\t Fluvius\n\t {isHome ? : }\n \n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} onClick={handleOpen} to=\"/\">\n Home\n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} to=\"/about\">\n About\n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} to=\"/methodology\">\n Methodology\n \n \n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} onClick={handleOpenPT} to={\"/pt_br/\" + String(port_eqv)}>\n PT/BR\n \n \n \n );\n}\n","import React from \"react\";\nimport { NavLink, useLocation } from \"react-router-dom\";\nimport {Box, Button} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport trees from \"../images/itv_tree.png\";\nimport info from \"../images/global_i.png\";\nimport \"./Navbar.css\"\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n backgroundColor: \"black\",\n },\n\n title: {\n flexGrow: 15,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n paddingTop: \"1.5vh\",\n color: \"white\"\n },\n pic: {\n flexGrow: 1,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n color: \"white\"\n },\n modal: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n paddingTop: \"10px\",\n alignItems: \"flex-end\",\n },\n lefttoggle: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"4vh\",\n marginTop: \"0.2vh\",\n color: \"white\"\n },\n toggle: {\n flexGrow: 3,\n display: \"flex\",\n [theme.breakpoints.up(\"sm\")]: {\n display: \"block\",\n },\n fontSize: \"2vh\",\n paddingTop: \"1.5vh\",\n alignItems: \"flex-end\",\n color: \"white\"\n },\n button: {\n fontSize: \"2vh\",\n color: \"white\"\n },\n fakebutton: {\n fontSize: \"2vh\",\n visibility: \"hidden\",\n color: \"white\"\n },\n}));\n\nexport default function Navbar(props) {\n const {modal_en_setOpen, modal_pt_setOpen} = props;\n const location = useLocation();\n const port_eqv = (String(location.pathname).includes(\"sobre\") ? \"/about\" : String(location.pathname).includes(\"metodologia\") ? \"/methodology\" : \"/\" ); \n const isHome = (String(location.pathname).includes(\"sobre\") ? false : String(location.pathname).includes(\"metodologia\") ? false : true ); \n const classes = useStyles();\n const handleOpen = () => modal_pt_setOpen(true);\n const handleOpenEN = () => modal_en_setOpen(true);\n\n return (\n \n \n \"\"\n \n \n\t Fluvius\n\t {isHome ? : }\n \n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} onClick={handleOpen} to=\"/pt_br/inicio\">\n Inicio\n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} to=\"/pt_br/sobre\">\n Sobre\n \n\t (isActive ? \"active\" : \"\") + \" navbar\"} to=\"/pt_br/metodologia\">\n Metodologia\n \n \n \n \t (isActive ? \"active\" : \"\") + \" navbar\"} onClick={handleOpenEN} to={String(port_eqv)}>\n EN/US\n \n \n \n );\n}\n","export default __webpack_public_path__ + \"static/media/itv_colorida.1ffbe78b.png\";","export default __webpack_public_path__ + \"static/media/microsoft_white.7c0b5e4e.png\";","export default __webpack_public_path__ + \"static/media/al_logo2.c5e05fd0.png\";","import {Box} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport itvlogo from \"../images/itv_colorida.png\";\nimport msftlogo from \"../images/microsoft_white.png\";\nimport allogo2 from \"../images/al_logo2.png\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n backgroundColor: \"black\",\n },\n}));\n\nexport default function Footer() {\n const classes = useStyles();\n return (\n \n \"\"\n \"\"\n \"\"\n \n );\n}\n","import React from \"react\";\nimport \"./App.css\";\nimport Main from \"./Main\";\nimport Navbar from \"./components/Navbar\";\nimport NavbarPT from \"./components/NavbarPT\";\nimport Footer from \"./components/Footer\";\nimport { Box } from \"@material-ui/core\";\nimport { useLocation } from \"react-router-dom\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n\thead: {\n borderBottom: '2px solid white', \n\t position: 'sticky',\n\t top: '0px',\n\t zIndex: 1100,\n\t backgroundColor: \"black\",\n\t},\n\tmain: {\n\t minHeight: '88vh',\n\t position: 'relative',\n\t zIndex: 900,\n\t},\n\tfoot: {\n borderTop: '2px solid white', \n\t position: 'sticky',\n\t bottom: '0px',\n\t zIndex: 1100,\n\t backgroundColor: \"black\",\n\t},\n}));\n\n\nconst App = () => {\n const [modal_en_open, modal_en_setOpen] = React.useState(true);\n const [modal_pt_open, modal_pt_setOpen] = React.useState(true);\n const location = useLocation();\n const portuguese = (String(location.pathname).includes(\"pt_br\") ? true : false ); \n const classes = useStyles();\n return (\n \n \n\t {portuguese ? : }\n\t\n \n\t
\n\t\n \n\t