## 3 Methodology
### Design of the Data Service Container
#### 3.1.2 Generation of Data Service  
From the perspective of data use, in most cases, when users receive the data, they need to carry out specific data-processing operations to obtain the result data that meet their application requirements. Therefore, the data service proposed in this paper includes both a data resource service and data-processing service, as shown in Figure 3.  
(1) Data resource service  
The raw data are standardized through a UDX model, and then published as data services; such data services are called data resource services. As shown in Figure 2, if the pollutant flux data are published as a service, it is a data resource service, and users can directly access UDX nodes to obtain corresponding data resources. Figure 2: Example of using UDX to describe hydrological data. Generally, geographic data come from a wide range of sources and are stored in a variety of ways, such as data stored in files, data accessed through API interfaces, and data in spatial data. But no matter how the data are organized and stored, there are always relevant data read and write interfaces that can retrieve the relevant data content from these original data sources. For example, common data formats such as GeoTIFF, Shapefile, NetCDF (Network Common Data Form), etc. have associated data read-write libraries such as GDAL, Geopandas, and the NetCDF read-write interface. For user-defined data formats, you can also write relevant code to read and write data. After the data content information is obtained, the UDX API interface can be used to map the data content information into UDX data nodes, and organize these data nodes according to certain logic to form a common data view that users can easily understand. At this point, the data resource service can be published, and the common data view can be used as the data content that the data resource service shares externally. When users access the data resource service, they can understand the data content provided by the UDX description view, and access the corresponding data node according to their own requirements. The service background will invoke the UDX API to read the relevant data node and return the node data content to the user. When users need to obtain some specific data, and the existing data resource service cannot meet their needs, they can realize data customization by invoking the data-processing service. For example, the data resource service for pollutant data release in Figure 2 only provides the original pollutant data, but if the user needs statistical data such as the mean value, variance, and standard difference of pollutant flux at each site, the data service cannot be directly provided. At this time, it is necessary to call the data-processing service with statistical function, carry out numerical statistical processing by reading the data content in the data resource service, and then return the result to the user. Data processing is a very broad concept, and any operation conducted on data can be called data processing. This paper focuses on three types of data-processing method: (a) Data extraction refers to the extraction of some data from the specified data, such as the extraction of some interesting research area data from a DEM data. (b) Data mapping refers to data exchange operations between raw data and UDX data nodes. In other words, behind the data resource services mentioned above is the data-mapping method at work. (c) Data refactoring can be broadly understood as processing one form of input data into another form of data. For example, elevation data stored in GeoTIFF can be processed into ASCII GRID files using data-reconstruction methods. The statistical processing of pollutant data mentioned above can also be considered as a data-reconstruction operation. Different data-processing methods may be implemented in different ways, mainly in the programming language they use (such as Python, Java, C#, etc. ), the way they are called (such as Python scripts, DLL, exe, jar, etc.