Compare commits

...

25 Commits

Author SHA1 Message Date
5909142080 From work office 2025-09-26 19:08:40 +05:00
bfc5c22c95 GeoJSON from SQL 2025-09-24 07:38:49 +05:00
57b8d8eca7 geojson 2025-09-18 02:15:57 +05:00
9d62a37b12 GeoJSON 2025-09-17 17:15:40 +05:00
fd69b5378f GeoGSON 2025-09-17 07:34:15 +05:00
7fdf572d19 GeoJSON by HTTP 2025-09-16 17:08:40 +05:00
11d8e00bbc Update files to new version QGIS 2025-09-15 17:00:39 +05:00
5a7b8a5932 New SMAP file 2025-09-15 07:23:26 +05:00
da1d3e1098 add resources 2025-09-14 15:04:12 +05:00
a949b49b35 Merge branch 'develop' of https://git.ccalm.org/igor/org.ccalm.main into develop 2025-09-14 14:48:46 +05:00
9837e3a5b9 JSON log 2025-09-14 14:48:36 +05:00
e01edc7224 Add locust type 2025-09-09 17:12:31 +05:00
c2762414c2 Merge branch 'develop' of https://git.ccalm.org/igor/org.ccalm.main into develop
# Conflicts:
#	src/main/resources/templates/engine/index.html
2025-09-08 18:11:23 +05:00
52f3b89664 SMAP 2025-09-08 12:15:57 +05:00
83ff9cba16 add getJsonData function 2025-09-08 07:30:55 +05:00
340be124d6 Modif "uploadFILE" function to ASDC 2025-09-04 15:42:19 +05:00
72a862ea23 Add save "efficacy_impact_type" 2025-09-04 07:36:19 +05:00
66b1f78745 import repair 2025-08-25 07:37:35 +05:00
9f67439db3 SendWarning 2025-08-12 17:15:44 +05:00
f9e83b1f0e +lon lat send in warnings 2025-08-12 07:45:12 +05:00
8a28b58513 Merge branch 'develop' of https://git.ccalm.org/igor/org.ccalm.main into develop 2025-08-11 15:26:20 +05:00
93383c8c23 v16 2025-08-11 15:26:08 +05:00
9f06a550fc Repair send threshold warnings for soil and air temperature 2025-08-11 07:20:50 +05:00
e423647a59 Delete Excel import 2025-08-08 07:22:40 +05:00
fab0c34ffb AcceptJSON_RUS model 2025-07-23 07:37:24 +05:00
186 changed files with 50774 additions and 1129 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
/src/main/resources/static/resources /src/main/resources/static/resources/metadata
/src/main/java/tctable /src/main/java/tctable
/logs/ /logs/

View File

@ -10,8 +10,8 @@ spring:
application: application:
name: org-ccalm-main name: org-ccalm-main
datasource: datasource:
url: jdbc:postgresql://almaty.ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000 #url: jdbc:postgresql://10.0.0.1:5432/CCALM?ApplicationName=org_ccalm_main&connectTimeout=10000&socketTimeout=30000
#url: jdbc:postgresql://ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000 url: jdbc:postgresql://ccalm.org:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
#url: jdbc:postgresql://127.0.0.1:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000 #url: jdbc:postgresql://127.0.0.1:5432/CCALM?ApplicationName=org_ccalm_main&ssl=true&sslmode=require&connectTimeout=10000&socketTimeout=10000
username: postgres username: postgres
password: 309A86FF65A78FB428F4E38DFE35F730 password: 309A86FF65A78FB428F4E38DFE35F730

16
pom.xml
View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.2</version> <version>3.5.5</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>org.ccalm</groupId> <groupId>org.ccalm</groupId>
<artifactId>main</artifactId> <artifactId>main</artifactId>
<version>1.0.3</version> <version>1.0.7</version>
<name>main</name> <name>main</name>
<description>main</description> <description>main</description>
<properties> <properties>
@ -81,11 +81,7 @@
</dependency> </dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/edu.ucar/netcdfAll --> <!-- https://mvnrepository.com/artifact/edu.ucar/netcdfAll -->
<dependency> <dependency>
<groupId>edu.ucar</groupId> <groupId>edu.ucar</groupId>
@ -144,6 +140,12 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>8.1</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -392,7 +392,8 @@ public class AcceptASDCController implements ServletContextAware {
risk_probe_analysis_name=${risk_probe_analysis_name}, risk_probe_analysis_name=${risk_probe_analysis_name},
risk_probe_analysis_number=${risk_probe_analysis_number}, risk_probe_analysis_number=${risk_probe_analysis_number},
test=${test}, test=${test},
geom=ST_SetSRID(ST_GeomFromGeoJSON(${geom}),4326) geom=ST_SetSRID(ST_GeomFromGeoJSON(${geom}),4326),
efficacy_impact_type=${efficacy_impact_type}
where uid=main.strtouuid(${uid}) where uid=main.strtouuid(${uid})
"""; """;
}else }else
@ -490,7 +491,8 @@ public class AcceptASDCController implements ServletContextAware {
risk_probe_analysis_name, risk_probe_analysis_name,
risk_probe_analysis_number, risk_probe_analysis_number,
test, test,
geom geom,
efficacy_impact_type
)values( )values(
main.strtouuid(${uid}), main.strtouuid(${uid}),
main.strtouuid(${frmlocustdel_uid}), main.strtouuid(${frmlocustdel_uid}),
@ -583,7 +585,8 @@ public class AcceptASDCController implements ServletContextAware {
${risk_probe_analysis_name}, ${risk_probe_analysis_name},
${risk_probe_analysis_number}, ${risk_probe_analysis_number},
${test}, ${test},
ST_SetSRID(ST_GeomFromGeoJSON(${geom}),4326) ST_SetSRID(ST_GeomFromGeoJSON(${geom}),4326),
${efficacy_impact_type}
)"""; )""";
} }
@ -801,6 +804,9 @@ public class AcceptASDCController implements ServletContextAware {
value = jsonObj.optString("geom",null); value = jsonObj.optString("geom",null);
stmtn.setString("geom",value); stmtn.setString("geom",value);
value = jsonObj.optString("efficacy_impact_type",null);
stmtn.setString("efficacy_impact_type",value);
//Execute SQL //Execute SQL
try { try {
PreparedStatement stmt=stmtn.getPreparedStatement(); PreparedStatement stmt=stmtn.getPreparedStatement();
@ -1879,6 +1885,7 @@ public class AcceptASDCController implements ServletContextAware {
+" comments=?,\n" +" comments=?,\n"
+" geom=ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n" +" geom=ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n"
+" locust_purpose_id=?,\n" //Чтобы много циферек не перебивать сделал внизу запроса +" locust_purpose_id=?,\n" //Чтобы много циферек не перебивать сделал внизу запроса
+" efficacy_impact=?,\n"
+" test=?\n" +" test=?\n"
+" where uid=main.strtouuid('"+uid+"')"; +" where uid=main.strtouuid('"+uid+"')";
try { try {
@ -1999,6 +2006,7 @@ public class AcceptASDCController implements ServletContextAware {
+" comments,\n" +" comments,\n"
+" geom,\n" +" geom,\n"
+" locust_purpose_id,\n" +" locust_purpose_id,\n"
+" efficacy_impact,\n"
+" test\n" +" test\n"
+")values(\n" +")values(\n"
+" main.strtouuid(?),\n" //1 uid +" main.strtouuid(?),\n" //1 uid
@ -2106,7 +2114,8 @@ public class AcceptASDCController implements ServletContextAware {
+" ?,\n" //102 comments +" ?,\n" //102 comments
+" ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n" //103 geom +" ST_SetSRID(ST_GeomFromGeoJSON(?),4326),\n" //103 geom
+" ?,\n" //104 locust_purpose_id +" ?,\n" //104 locust_purpose_id
+" ?\n" //105 test +" ?,\n" //105 efficacy_impact
+" ?\n" //106 test
+")"; +")";
try { try {
stmt = conn.prepareStatement(sql); stmt = conn.prepareStatement(sql);
@ -2232,6 +2241,7 @@ public class AcceptASDCController implements ServletContextAware {
String comments=getCdataValue(reqNode, "comments"); String comments=getCdataValue(reqNode, "comments");
String geom=getCdataValue(reqNode, "geom"); String geom=getCdataValue(reqNode, "geom");
String locust_purpose_id=getCdataValue(reqNode, "locust_purpose_id"); String locust_purpose_id=getCdataValue(reqNode, "locust_purpose_id");
String efficacy_impact=getCdataValue(reqNode, "efficacy_impact");
String test=getCdataValue(reqNode, "test"); String test=getCdataValue(reqNode, "test");
if(test==null) test="0"; if(test==null) test="0";
@ -2428,11 +2438,11 @@ public class AcceptASDCController implements ServletContextAware {
stmt.setNull(104, Types.INTEGER, null); stmt.setNull(104, Types.INTEGER, null);
else else
stmt.setInt(104,Integer.parseInt(locust_purpose_id)); stmt.setInt(104,Integer.parseInt(locust_purpose_id));
stmt.setString(105,efficacy_impact);
if(test==null) stmt.setNull(105, Types.BOOLEAN, null); if(test==null) stmt.setNull(106, Types.BOOLEAN, null);
else { else {
if(test.equals("1")) stmt.setBoolean(105,true); if(test.equals("1")) stmt.setBoolean(106,true);
else stmt.setBoolean(105,false); else stmt.setBoolean(106,false);
} }
} catch (SQLException ex) { } catch (SQLException ex) {
@ -2498,6 +2508,9 @@ public class AcceptASDCController implements ServletContextAware {
} }
return result; return result;
} }
/**
* reqS - Миллисекунд сначала 1970 года
* */
@RequestMapping(value = {"/get/", "/api/locust/v01/get/"},params = {"fn"},method = { RequestMethod.GET, RequestMethod.POST }) @RequestMapping(value = {"/get/", "/api/locust/v01/get/"},params = {"fn"},method = { RequestMethod.GET, RequestMethod.POST })
@ResponseBody @ResponseBody
public Object uploadFILE(HttpServletResponse response,@RequestHeader(required=false,name="Content-Type") String contentType,@RequestBody(required=false) String reqData,@RequestParam(required=false,name="file") MultipartFile file,@RequestParam(required=false,name="fn") String fn,@RequestParam(required=false,name="r") String reqR,@RequestParam(required=false,name="n") String reqN,@RequestParam(required=false,name="s") String reqS,@RequestParam(required=false,name="l") String reqL,@RequestParam(required=false,name="days",defaultValue = "0") int days,@RequestParam(required=false,name="country_id",defaultValue = "0") int country_id,@RequestParam(required=false,name="android_id",defaultValue = "") String device_id) { public Object uploadFILE(HttpServletResponse response,@RequestHeader(required=false,name="Content-Type") String contentType,@RequestBody(required=false) String reqData,@RequestParam(required=false,name="file") MultipartFile file,@RequestParam(required=false,name="fn") String fn,@RequestParam(required=false,name="r") String reqR,@RequestParam(required=false,name="n") String reqN,@RequestParam(required=false,name="s") String reqS,@RequestParam(required=false,name="l") String reqL,@RequestParam(required=false,name="days",defaultValue = "0") int days,@RequestParam(required=false,name="country_id",defaultValue = "0") int country_id,@RequestParam(required=false,name="android_id",defaultValue = "") String device_id) {
@ -2552,7 +2565,13 @@ public class AcceptASDCController implements ServletContextAware {
//if(val!=null) pR=Integer.parseInt(val); //if(val!=null) pR=Integer.parseInt(val);
pN = reqN; pN = reqN;
val = reqS; val = reqS;
if(val!=null) pS=Long.parseLong(val); if(val!=null && !val.isEmpty()) {
try {
pS = Long.parseLong(val);
} catch (Exception ex) {
logger.error(UUID.randomUUID().toString(), ex.getMessage()+" val="+val, ex);
}
}
val = reqL; val = reqL;
//if(val!=null) pL=100; //if(val!=null) pL=100;
@ -2563,14 +2582,16 @@ public class AcceptASDCController implements ServletContextAware {
String sql; String sql;
if(pN.equals("frmlocustdel_locations") && days>0 && country_id>0){ if(pN.equals("frmlocustdel_locations") && days>0 && country_id>0){
sql = "select fldl.* from main.frmlocustdel_locations fldl join main.frmlocustdel fld on main.strtouuid(fld.uid)=main.strtouuid(fldl.frmlocustdel_uid) where fld.date>now()-interval '"+String.valueOf(days)+" days' and fld.country_id="+String.valueOf(country_id)+" and fld.device_id!='"+device_id+"' order by fldl.seq";
//sql = "select fldl.* from main.frmlocustdel_locations fldl join main.frmlocustdel fld on main.strtouuid(fld.uid)=main.strtouuid(fldl.frmlocustdel_uid) where fld.date>now()-interval '"+String.valueOf(days)+" days' and fld.country_id="+String.valueOf(country_id)+" and fldl.seq>"+pS+" and fld.device_id!='"+device_id+"' order by fldl.seq"; //sql = "select fldl.* from main.frmlocustdel_locations fldl join main.frmlocustdel fld on main.strtouuid(fld.uid)=main.strtouuid(fldl.frmlocustdel_uid) where fld.date>now()-interval '"+String.valueOf(days)+" days' and fld.country_id="+String.valueOf(country_id)+" and fldl.seq>"+pS+" and fld.device_id!='"+device_id+"' order by fldl.seq";
sql = "select fldl.* from main.frmlocustdel_locations fldl join main.frmlocustdel fld on main.strtouuid(fld.uid)=main.strtouuid(fldl.frmlocustdel_uid) where fld.date>now()-interval '"+String.valueOf(days)+" days' and fld.country_id="+String.valueOf(country_id)+" and fldl.seq>"+pS+" order by fldl.seq"; //TODO удалить //sql = "select fldl.* from main.frmlocustdel_locations fldl join main.frmlocustdel fld on main.strtouuid(fld.uid)=main.strtouuid(fldl.frmlocustdel_uid) where fld.date>now()-interval '"+String.valueOf(days)+" days' and fld.country_id="+String.valueOf(country_id)+" and fldl.seq>"+pS+" order by fldl.seq"; //TODO удалить
}else }else
if(pN.equals("frmlocustdel") && days>0 && country_id>0){ if(pN.equals("frmlocustdel") && days>0 && country_id>0){
Map<String, String> fields = TCTableTools.getTableSchema(conn, "main.frmlocustdel"); Map<String, String> fields = TCTableTools.getTableSchema(conn, "main.frmlocustdel");
STools.delFromMapByValue(fields, "geometry"); //Исключаем поля с типом геометрия, SQLite в android их не понимает STools.delFromMapByValue(fields, "geometry"); //Исключаем поля с типом геометрия, SQLite в android их не понимает
sql = "select "+String.join(", ", fields.keySet())+" from main.frmlocustdel where date>now()-interval '"+String.valueOf(days)+" days' and country_id="+String.valueOf(country_id)+" and device_id!='"+device_id+"' order by seq";
//sql = "select "+String.join(", ", fields.keySet())+" from main.frmlocustdel where date>now()-interval '"+String.valueOf(days)+" days' and country_id="+String.valueOf(country_id)+" and seq>"+pS+" and device_id!='"+device_id+"' order by seq"; //sql = "select "+String.join(", ", fields.keySet())+" from main.frmlocustdel where date>now()-interval '"+String.valueOf(days)+" days' and country_id="+String.valueOf(country_id)+" and seq>"+pS+" and device_id!='"+device_id+"' order by seq";
sql = "select "+String.join(", ", fields.keySet())+" from main.frmlocustdel where date>now()-interval '"+String.valueOf(days)+" days' and country_id="+String.valueOf(country_id)+" and seq>"+pS+" order by seq"; //TODO удалить //sql = "select "+String.join(", ", fields.keySet())+" from main.frmlocustdel where date>now()-interval '"+String.valueOf(days)+" days' and country_id="+String.valueOf(country_id)+" and seq>"+pS+" order by seq"; //TODO удалить
}else }else
if(pN.equals("_translations")) if(pN.equals("_translations"))
{ {
@ -3060,7 +3081,7 @@ public class AcceptASDCController implements ServletContextAware {
} }
//@RequestMapping(value = {"/get", "/api/locust/v01/"},params = {"fn"},method = { RequestMethod.GET, RequestMethod.POST }) //@RequestMapping(value = {"/get", "/api/locust/v01/"},params = {"fn"},method = { RequestMethod.GET, RequestMethod.POST })
//Для проверки какие фото есть на сервере а каких нет чтобы удалить из имена фотографий которых нет в базе //Для проверки какие фото есть на сервере а каких нет чтобы удалить имена фотографий которых нет в базе
@RequestMapping(value = {"/photolist", "/api/locust/v01/"},method = RequestMethod.GET, produces = "text/html") @RequestMapping(value = {"/photolist", "/api/locust/v01/"},method = RequestMethod.GET, produces = "text/html")
@ResponseBody @ResponseBody
public Object getPhotoList() { public Object getPhotoList() {

View File

@ -1,395 +0,0 @@
package org.ccalm.main;
import java.io.*;
//import java.io.FileInputStream;
//import java.io.OutputStream;
//import java.io.UnsupportedEncodingException;
//import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
//import java.util.zip.CRC32;
//import java.util.zip.Checksum;
//import javax.servlet.ServletContext;
//import javax.servlet.http.Part;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import jakarta.servlet.ServletContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
//import org.apache.commons.io.FileUtils;
//import org.springframework.core.io.FileSystemResource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
//import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.multipart.MultipartFile;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import tools.User;
@Controller
public class AcceptEXCEL implements ServletContextAware {
private static final Logger logger = LoggerFactory.getLogger(AcceptEXCEL.class);
private ServletContext context;
@Value("${spring.datasource.url}")
String db_url="";
@Value("${spring.datasource.username}")
String db_login="";
@Value("${spring.datasource.password}")
String db_password="";
@Value("${data.dir}")
String data_dir = "";
@Override
public void setServletContext(ServletContext context) {
this.context=context;
}
@RequestMapping(value = {"/AcceptCSV", "/api/locust/v01/"}, method = { RequestMethod.GET, RequestMethod.POST })
public String acceptCSV(@ModelAttribute User user, Model model,@RequestParam(required=false,name="file") MultipartFile file,@RequestParam(required=false,name="skip",defaultValue = "0") Boolean skip) {
Connection conn = null;
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(db_url, db_login, db_password);
} catch (Exception ex) {
}
String sqlData="";
String json="{\"type\": \"FeatureCollection\",\"features\":[";
String table="<table border=\"1\">";
table+="<tr style=\"background-color: #e0e0e0;\"><th>№</th><th>Latitude (Широта)</th><th>Longitude (Долгота)</th><th>Oblast (область)</th><th>District (Район)</th><th>Сельский округ</th><th>Хозяйство или местность</th><th>Вид саранчи</th><th>Фаза</th><th>ЭПВ</th><th>Заселено Га</th><th>Дата</th></tr>";
//row+="<td>"+i+"</td><td>"+locust.lat+"</td><td>"+locust.lon+"</td><td>"+locust.region+" = "+locust.region_id+"</td><td>"+locust.district+" = "+locust.district_id+"</td><td>"+locust.terrain+"</td><td>"+locust.village+"<td>";
if (file!=null && !file.isEmpty()) {
BufferedReader reader;
try {
int i=1; //for testing
reader = new BufferedReader(new InputStreamReader(file.getInputStream(), "UTF-8"));
//reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
if(skip) line = reader.readLine();
while (line != null) {
StringBuffer data=new StringBuffer(line);
Boolean error=false;
Locust locust = new Locust();
try {
String lat=CutBeforeFirst(data,";");
if(lat.equals("46.3104.6")) lat="46.31046";
if(lat.equals("43.21303.")) lat="43.21303";
if(lat.equals("43.26067.")) lat="43.26067";
if(lat.equals("43.20181.")) lat="43.20181";
if(lat.equals("43.20181.")) lat="43.20181";
if(lat.equals("43.74691.")) lat="43.74691";
if(lat.equals("43.41954.")) lat="43.41954";
if(lat.equals("43.78288.")) lat="43.78288";
if(lat.equals("43.26260.")) lat="43.26260";
if(lat.equals("43.79702.")) lat="43.79702";
if(lat.equals("43.64891.")) lat="43.64891";
if(lat.equals("43.64891.")) lat="43.64891";
if(lat.equals("43.42271.")) lat="43.42271";
if(lat.equals("43.64891.")) lat="43.64891";
if(lat.equals("43.89990.")) lat="43.89990";
if(lat.equals("43.96273.")) lat="43.96273";
if(lat.equals("43.26907.")) lat="43.26907";
if(lat.equals("43.26630.")) lat="43.26630";
if(lat.equals("43.50605.")) lat="43.50605";
if(lat.equals("43.74965.")) lat="43.74965";
if(lat.equals("43.20813.")) lat="43.20813";
if(lat.equals("43.23298.")) lat="43.23298";
if(lat.equals("43.74774.")) lat="43.74774";
if(lat.equals("43.77144.")) lat="43.77144";
if(lat.equals("43.58847.")) lat="43.58847";
if(lat.equals("43.58944.")) lat="43.58944";
if(lat.equals("4342755.")) lat="43.42755";
if(lat.equals("43.80416.")) lat="43.80416";
if(lat.equals("43.79536.")) lat="43.79536";
if(lat.equals("50.75 767")) lat="50.75767";
if(lat.equals("50.77 542")) lat="50.77542";
if(lat.equals("50.85 140")) lat="50.85140";
if(lat.equals("50.79 773")) lat="50.79773";
if(lat.equals("50.63 469")) lat="50.63469";
if(lat.equals("51.23 130")) lat="51.23130";
if(lat.equals("51.03 220")) lat="51.03220";
if(lat.equals("51.38 922")) lat="51.38922";
if(lat.equals("51.06.940")) lat="51.06940";
if(lat.equals("51.08 273")) lat="51.08273";
if(lat.equals("50.96 705")) lat="50.96705";
if(lat.equals("51.03 021")) lat="51.03021";
if(lat.equals("51.01 764")) lat="51.01764";
if(lat.equals("50.99 388")) lat="50.99388";
if(lat.equals("50.50 509")) lat="50.50509";
if(lat.equals("43.109.94")) lat="43.10994";
if(lat.equals("50.11.926")) lat="50.11926";
if(lat.equals("50.04.966")) lat="50.04966";
if(lat.equals("49.26.385")) lat="49.26385";
if(lat.equals("49.26.251")) lat="49.26251";
if(lat.equals("49.25.307")) lat="49.25307";
if(lat.equals("44.4930.")) lat="49.25307";
locust.lat=Double.parseDouble(lat);
String lon=CutBeforeFirst(data,";");
if(lon.equals("51.25 560")) lon="51.25560";
if(lon.equals("51.25 099")) lon="51.25099";
if(lon.equals("51.26 378")) lon="51.26378";
if(lon.equals("51.25 235")) lon="51.25235";
if(lon.equals("51.83 107")) lon="51.83107";
if(lon.equals("51.71 702")) lon="51.71702";
if(lon.equals("52.21 390")) lon="52.21390";
if(lon.equals("52.10 873")) lon="52.10873";
if(lon.equals("51.85 606")) lon="51.85606";
if(lon.equals("52.41 085")) lon="52.41085";
if(lon.equals("52.36 125")) lon="52.36125";
if(lon.equals("51. 56 025")) lon="51.56025";
if(lon.equals("51.56 786")) lon="51.56786";
if(lon.equals("51.57 946")) lon="51.57946";
if(lon.equals("51.16 758")) lon="51.16758";
if(lon.equals("85.09.142")) lon="85.09142";
locust.lon=Double.parseDouble(lon);
}catch(Exception ex)
{
error=true;
}
locust.region=CutBeforeFirst(data,";");
//Выбираю ID области
Statement stt = null;
ResultSet rs = null;
try {
if(locust.region.equals("Алматинский")) locust.region="Алматинская";
if(locust.region.equals("Туркестанский")) locust.region="Туркестанская";
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql_query = "select id from main.countriesregions where name like '%"+locust.region+"%';";
rs = stt.executeQuery(sql_query);
if (rs != null) {
try {
if (rs.next()) {
locust.region_id=rs.getString(1);
}
rs.close();
} catch (SQLException ex) {
}
}
} catch (SQLException ex) {
}finally {
if(rs!=null) try{rs.close();}catch(SQLException ex){}
if(stt!=null) try{stt.close();}catch(SQLException ex){}
}
//Выбираю id региона (main.countriesdistricts)
locust.district_id="";
locust.district=CutBeforeFirst(data,";");
stt = null;
rs = null;
try {
if(locust.district.equals("Сарканский ")) locust.district="Саркандский";
if(locust.district.equals("Уйгуский")) locust.district="Уйгурский";
if(locust.district.equals("г.Капшагай")) locust.district="Капчагайский городской округ";
if(locust.district.equals("Каратальскиий")) locust.district="Каратальский";
if(locust.district.equals("г. Талдыкорган")) locust.district="Талдыкорганский";
if(locust.district.equals("г Атырау ")) locust.district="Атырауский городской округ";
if(locust.district.equals("г. Атырау")) locust.district="Атырауский городской округ";
if(locust.district.equals("Кызылкуга")) locust.district="Кзылкогинский район";
if(locust.district.equals("Курчумский ")) locust.district="Куршимский район";
if(locust.district.equals("г.Семей")) locust.district="Семипалатинский городской округ";
if(locust.region_id.equals("4") && locust.district.equals("Жамбылский")) locust.district="Джамбулский район";
if(locust.district.equals("Т.Рыскуловский")) locust.district="Рыскуловский район";
if(locust.district.equals("Шуйский")) locust.district="Чуйский район";
if(locust.district.equals("Сарысуский")) locust.district="Сары-Суйский район";
if(locust.district.equals("Федоровский")) locust.district="Фёдоровский район";
if(locust.district.equals("Жангельдинский")) locust.district="Джангельдинский район";
if(locust.district.equals("Сырдария")) locust.district="Сырдарьинский район";
if(locust.district.equals("Кызылорда")) locust.district="Кызылординский городской округ";
if(locust.district.equals("к.Кызылорда")) locust.district="Кызылординский городской округ";
if(locust.district.equals("Аралский")) locust.district="Аральский район";
if(locust.district.equals("Шиелі")) locust.district="Шиелийский район";
if(locust.region_id.equals("11") && locust.district.equals("Аксуский")) locust.district="Аксуйский городской округ";
if(locust.region_id.equals("11") && locust.district.equals("Аксуский")) locust.district="Аксуйский городской округ";
if(locust.region_id.equals("11") && locust.district.equals("Ақсуский")) locust.district="Аксуйский городской округ";
if(locust.district.equals("Аққулы")) locust.district="Аккулинский район";
if(locust.district.equals("Аккулы")) locust.district="Аккулинский район";
if(locust.district.equals("Тереңкөл")) locust.district="Теренкольский";
if(locust.district.equals("г. Павлодар")) locust.district="Павлодарский городской округ";
if(locust.district.equals("Екибастузский")) locust.district="Экибастузский городской округ";
if(locust.district.equals("Шербактнский")) locust.district="Щербактинский район";
if(locust.district.equals("Толебиский ")) locust.district="Толебийский район";
if(locust.district.equals("г.Шымкент Абайский ")) locust.district="Шымкентский городской округ";
if(locust.district.equals("г.Шымкент Каратауский ")) locust.district="Шымкентский городской округ";
if(locust.district.equals("Баянауыл")) locust.district="Баянаул";
if(locust.district.equals("Екібастұз")) locust.district="Экибастуз";
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql_query = "select id from main.countriesdistricts where region_id="+locust.region_id+" and name like '%"+locust.district+"%';";
rs = stt.executeQuery(sql_query);
if (rs != null) {
try {
if (rs.next()) {
locust.district_id=rs.getString(1);
}
rs.close();
} catch (SQLException ex) {
}
}
} catch (SQLException ex) {
}finally {
if(rs!=null) try{rs.close();}catch(SQLException ex){}
if(stt!=null) try{stt.close();}catch(SQLException ex){}
}
//Сельский округ
locust.terrain=CutBeforeFirst(data,";");
//Хозяйство или местность
locust.village=CutBeforeFirst(data,";");
//Вид саранчи
locust.locust=CutBeforeFirst(data,";");
locust.locust_id="";
if(locust.locust.equals(" итальянский прус")) locust.locust_id="1";
if(locust.locust.equals("итальянский прус")) locust.locust_id="1";
if(locust.locust.equals("Итальянский прус")) locust.locust_id="1";
if(locust.locust.equals("итальянский прус ")) locust.locust_id="1";
if(locust.locust.equals("Азиатская саранча")) locust.locust_id="3";
if(locust.locust.equals("азиатская саранча")) locust.locust_id="3";
if(locust.locust.equals("нестадные")) locust.locust_id="4";
if(locust.locust.equals("нестадные саранчовые")) locust.locust_id="4";
if(locust.locust.equals("Нестадные саранчевые")) locust.locust_id="4";
if(locust.locust.equals("Нестадная саранча ")) locust.locust_id="4";
if(locust.locust.equals("Нестадная саранча")) locust.locust_id="4";
if(locust.locust.equals("нестадная саранча")) locust.locust_id="4";
if(locust.locust.equals("Мароккская саранча")) locust.locust_id="2";
//фаза саранчи
locust.phase=CutBeforeFirst(data,";");
locust.locust_have="3";
if(locust.phase.equals("кубышки")) locust.locust_have="2";
if(locust.phase.equals("личинки")) locust.locust_have="3";
if(locust.phase.equals("имаго")) locust.locust_have="5";
locust.evp=CutBeforeFirst(data,";"); //ЭФП
locust.size=CutBeforeFirst(data,";"); //Заселённая площадь
locust.size=locust.size.replace(",",".");
locust.date=CutBeforeFirst(data,";"); //Дата
String row="<tr>";
if(error==true || locust.lat==0 || locust.lon==0 || locust.region_id.isEmpty() || locust.district_id.isEmpty() || locust.terrain.isEmpty() || locust.locust_id.isEmpty()) {
row="<tr style=\"background-color:red;\">";
}
row+="<td>"+i+"</td><td>"+locust.lat+"</td><td>"+locust.lon+"</td><td>"+locust.region+" = "+locust.region_id+"</td><td>"+locust.district+" = "+locust.district_id+"</td><td>"+locust.terrain+"</td><td>"+locust.village+"</td><td>"+locust.locust+" = "+locust.locust_id+"</td><td>"+locust.phase+" = "+locust.locust_have+"</td><td>"+locust.evp+"</td><td>"+locust.size+"</td><td>"+locust.date+"</td>";
row+="</tr>\n";
table += row;
i++;
json+=" \n{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":["+locust.lon+","+locust.lat+"]},\"properties\":{\"oblast\":\""+locust.region.replace("\"", "'")+"\",\"district\":\""+locust.district.replace("\"", "'")+"\",\"region\":\""+locust.terrain.replace("\"", "'")+"\",\"village\":\""+locust.village.replace("\"", "'")+"\",\"phase\":\""+locust.phase+"\",\"locust\":\""+locust.locust+"\",\"evp\": \""+locust.evp+"\",\"ga\": \""+locust.size+"\",\"date\": \""+locust.date+"\"}},";
sqlData+="insert into main.frmlocust(country_id,region_id,district,terrain,village,lon1,lat1,locust_type_id,locust_have,locust_populated,date)values(5,"+locust.region_id+",'"+locust.district.trim()+"','"+locust.terrain.trim()+"','"+locust.village.trim()+"',"+locust.lon+","+locust.lat+","+locust.locust_id+","+locust.locust_have+","+locust.size+",TO_DATE('"+locust.date+"','DD.MM.YYYY'));\n";
if(i>5000) break;
line=reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}else {
table="CSV file is empty! "+skip;
}
table += "</table>";
json=json.substring(0,json.length()-1); //Удаляю последнюю запятую
json+="\n]}";
model.addAttribute("PreviewTable",table);
model.addAttribute("PreviewGEOJSON",json);
model.addAttribute("PreviewSQL",sqlData);
return "excel";
}
//---------------------------------------------------------------------------
public static String CutBeforeFirst(StringBuffer str,String ch)
{
int pos=str.indexOf(ch);
String result="";
if(pos==-1)
{
result.concat(str.toString());
str.delete(0,str.length());
}else
{
result=str.substring(0,pos);
str.delete(0,pos+1);
}
return result;
}
//---------------------------------------------------------------------------
class Locust{
double lon;
double lat;
String region; //Область
String region_id;
String district; //Район
String district_id;
String terrain; //Название месности
String village; //Хозяйство или местность
String locust; //Вид саранчи
String locust_id; //Вид саранчи
String phase; //Фаза саранчи
String locust_have; //id Фазы саранчи
String evp; //ЭФП
String size; //Заселённая площадь
String date; //Дата
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +1,40 @@
package org.ccalm.main; package org.ccalm.main;
import java.io.*; import java.io.*;
import java.sql.Connection; import java.nio.charset.StandardCharsets;
import java.sql.DriverManager; import java.sql.*;
import java.sql.ResultSet; import java.time.LocalDateTime;
import java.sql.ResultSetMetaData; import java.util.HashMap;
import java.sql.SQLException; import java.util.List;
import java.sql.Statement; import java.util.Map;
import java.util.Properties; import java.util.Properties;
//import javax.servlet.ServletContext; import com.fasterxml.jackson.databind.ObjectMapper;
//import javax.servlet.http.HttpServletResponse; import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.jdbc.core.JdbcTemplate;
import jakarta.servlet.http.HttpServletRequest;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import jakarta.servlet.ServletContext; import jakarta.servlet.ServletContext;
import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.ServletContextAware; import org.springframework.web.context.ServletContextAware;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
@ -47,6 +58,19 @@ public class GeoGSON implements ServletContextAware {
@Value("${data.dir}") @Value("${data.dir}")
String data_dir = ""; String data_dir = "";
private final NamedParameterJdbcTemplate jdbcTemplate;
private final Environment environment;
private HikariDataSource dataSource;
//---------------------------------------------------------------------------
@Autowired
public GeoGSON(NamedParameterJdbcTemplate jdbcTemplate, HikariDataSource dataSource, Environment environment) {
this.jdbcTemplate = jdbcTemplate;
this.environment = environment;
this.dataSource = dataSource;
}
//---------------------------------------------------------------------------
@RequestMapping(value = {"/geojson", "/api/locust/v01/geojson"}, method = RequestMethod.GET) @RequestMapping(value = {"/geojson", "/api/locust/v01/geojson"}, method = RequestMethod.GET)
@ResponseBody @ResponseBody
public Object home(@RequestParam(required=false,name="table") String table,@RequestParam(required=false,name="id") String id) public Object home(@RequestParam(required=false,name="table") String table,@RequestParam(required=false,name="id") String id)
@ -69,14 +93,14 @@ public class GeoGSON implements ServletContextAware {
error=true; error=true;
result="<br>SQLException: "+ex.getMessage()+"<br>"; result="<br>SQLException: "+ex.getMessage()+"<br>";
} }
if(!error) if(!error)
{ {
Statement st; Statement st;
try { try {
st = conn.createStatement(); st = conn.createStatement();
String sql="select id,name,ST_AsGeoJSON(geom,3,0) as geom from main."+table+" where id="+id+";"; String sql="select id,name,ST_AsGeoJSON(geom,3,0) as geom from main."+table+" where id="+id+";";
ResultSet rs = st.executeQuery(sql); ResultSet rs = st.executeQuery(sql);
if(rs!=null) if(rs!=null)
{ {
while (rs.next()) while (rs.next())
@ -84,9 +108,9 @@ public class GeoGSON implements ServletContextAware {
String geom=null; String geom=null;
try { try {
geom=rs.getString("geom"); geom=rs.getString("geom");
} catch( Exception ex ) } catch( Exception ex )
{ {
result="<metadata fn=\"-1\"><![CDATA[SQLException: "+ex.getMessage()+"]]></metadata>"; result="<metadata fn=\"-1\"><![CDATA[SQLException: "+ex.getMessage()+"]]></metadata>";
} }
if(geom==null) geom=""; if(geom==null) geom="";
result=geom; result=geom;
@ -96,7 +120,7 @@ public class GeoGSON implements ServletContextAware {
conn.close(); conn.close();
} catch (SQLException ex) { } catch (SQLException ex) {
result="<br>SQLException:"+ex.getMessage()+"<br>"; result="<br>SQLException:"+ex.getMessage()+"<br>";
} }
} }
return result; return result;
@ -107,7 +131,6 @@ public class GeoGSON implements ServletContextAware {
this.context=context; this.context=context;
} }
//For compilatin android project //For compilatin android project
//http://127.0.0.1:8080/CCALM/countriesregionspoints //http://127.0.0.1:8080/CCALM/countriesregionspoints
@RequestMapping(value = {"/countriesregionspoints", "/api/locust/v01/countriesregionspoints"}, method = RequestMethod.GET) @RequestMapping(value = {"/countriesregionspoints", "/api/locust/v01/countriesregionspoints"}, method = RequestMethod.GET)
@ -226,4 +249,232 @@ public class GeoGSON implements ServletContextAware {
return result; return result;
} }
// JSON to file frmlocust_pods_density.qgs
@RequestMapping(
value = { "/geojson/frmlocust_pods_density", "/api/locust/v01/geojson/frmlocust_pods_density"},
method = RequestMethod.GET,
produces = "application/geo+json;charset=UTF-8"
)
@ResponseBody
public ResponseEntity<byte[]> podsDensity(
@RequestParam(required = false, name = "country_id", defaultValue = "5") Integer countryId,
@RequestParam(required = false, name = "region_id") Long regionId,
@RequestParam(required = false, name = "locust_type_id") Long locustTypeId,
@RequestParam(required = false, name = "date_start", defaultValue = "1750227418") Long dateStartUnix,
@RequestParam(required = false, name = "date_end", defaultValue = "1758010618") Long dateEndUnix,
@CookieValue(value = "lng", defaultValue = "1") String language_id,
HttpServletRequest request // Добавляем для получения заголовка Range
) {
try {
String sql = """
SELECT
*
FROM main.get_frmlocust_pods_density(
:countryId,
:regionId,
:locustTypeId,
cast(to_timestamp(:dateFrom) as timestamp without time zone),
cast(to_timestamp(:dateTo) as timestamp without time zone)
)
""";
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("countryId", countryId, Types.BIGINT);
params.addValue("regionId", regionId, Types.BIGINT);
params.addValue("locustTypeId", locustTypeId, Types.BIGINT);
params.addValue("dateFrom", dateStartUnix, Types.BIGINT);
params.addValue("dateTo", dateEndUnix, Types.BIGINT);
List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, params);
// Формируем FeatureCollection
JSONArray features = new JSONArray();
for (Map<String, Object> row : rows) {
JSONObject feature = new JSONObject();
feature.put("type", "Feature");
feature.put("geometry", new JSONObject((String) row.get("geometry")));
JSONObject props = new JSONObject();
for (Map.Entry<String, Object> e : row.entrySet()) {
if (!"geometry".equals(e.getKey())) {
Object value = e.getValue();
if (value == null) {
props.put(e.getKey(), JSONObject.NULL);
} else {
props.put(e.getKey(), value);
}
}
}
feature.put("properties", props);
features.put(feature);
}
JSONObject collection = new JSONObject();
collection.put("type", "FeatureCollection");
collection.put("features", features);
// Преобразуем в байты
byte[] data = collection.toString().getBytes(StandardCharsets.UTF_8);
long contentLength = data.length;
// Обрабатываем Range-запрос
String rangeHeader = request.getHeader("Range");
HttpHeaders headers = new HttpHeaders();
headers.add("Accept-Ranges", "bytes");
if (rangeHeader != null && rangeHeader.startsWith("bytes=")) {
String[] ranges = rangeHeader.replace("bytes=", "").split("-");
long start = Long.parseLong(ranges[0]);
long end = ranges.length > 1 && !ranges[1].isEmpty() ? Long.parseLong(ranges[1]) : contentLength - 1;
if (start >= contentLength || end >= contentLength || start > end) {
return ResponseEntity.status(HttpStatus.REQUESTED_RANGE_NOT_SATISFIABLE)
.header("Content-Range", "bytes */" + contentLength)
.build();
}
long rangeLength = end - start + 1;
byte[] rangeData = new byte[(int) rangeLength];
System.arraycopy(data, (int) start, rangeData, 0, (int) rangeLength);
headers.add("Content-Range", "bytes " + start + "-" + end + "/" + contentLength);
headers.add("Content-Length", String.valueOf(rangeLength));
return new ResponseEntity<>(rangeData, headers, HttpStatus.PARTIAL_CONTENT);
}
// Полный ответ, если Range не запрошен
headers.add("Content-Length", String.valueOf(contentLength));
return new ResponseEntity<>(data, headers, HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
String error = "{\"error\":\"" + e.getMessage() + "\"}";
return new ResponseEntity<>(error.getBytes(StandardCharsets.UTF_8), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@GetMapping(
value = { "/geojson/countriesdistricts", "/api/locust/v01/geojson/countriesdistricts"},
produces = "application/geo+json;charset=UTF-8")
@ResponseBody
public ResponseEntity<byte[]> getCountriesDistricts(
@RequestParam(required = false, name = "country_id") Long countryId,
HttpServletRequest request
) {
return getGeoJson("main.view_countriesdistricts", "id", countryId, request);
}
@GetMapping(
value = { "/geojson/countriesregions", "/api/locust/v01/geojson/countriesregions"},
produces = "application/geo+json;charset=UTF-8"
)
@ResponseBody
public ResponseEntity<byte[]> getCountriesRegions(
@RequestParam(required = false, name = "country_id") Long countryId,
HttpServletRequest request
) {
return getGeoJson("main.view_countriesregions", "id", countryId, request);
}
@GetMapping(
value = { "/geojson/countries", "/api/locust/v01/geojson/countries"},
produces = "application/geo+json;charset=UTF-8")
@ResponseBody
public ResponseEntity<byte[]> getCountries(
@RequestParam(required = false, name = "country_id") Long countryId,
HttpServletRequest request
) {
return getGeoJson("main.view_countries", "country_id", countryId, request);
}
/**
* Общая функция для GeoJSON с поддержкой Range-запросов
*/
private ResponseEntity<byte[]> getGeoJson(
String table,
String idField,
Long countryId,
HttpServletRequest request
) {
try {
String sql = """
SELECT
%s AS id,
ST_AsGeoJSON(geom)::text AS geometry,
*
FROM %s
WHERE
geom IS NOT NULL
AND (country_id = :countryId)
""".formatted(idField, table);
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("countryId", countryId);
List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, params);
JSONArray features = new JSONArray();
for (Map<String, Object> row : rows) {
JSONObject feature = new JSONObject();
feature.put("type", "Feature");
// Геометрия
feature.put("geometry", new JSONObject((String) row.get("geometry")));
// Свойства
JSONObject props = new JSONObject();
for (Map.Entry<String, Object> e : row.entrySet()) {
if (!"geometry".equals(e.getKey()) && !"geom".equals(e.getKey())) {
Object value = e.getValue();
props.put(e.getKey(), value == null ? JSONObject.NULL : value);
}
}
feature.put("properties", props);
features.put(feature);
}
JSONObject collection = new JSONObject();
collection.put("type", "FeatureCollection");
collection.put("features", features);
byte[] data = collection.toString().getBytes(StandardCharsets.UTF_8);
long contentLength = data.length;
HttpHeaders headers = new HttpHeaders();
headers.add("Accept-Ranges", "bytes");
// Обработка Range
String rangeHeader = request.getHeader("Range");
if (rangeHeader != null && rangeHeader.startsWith("bytes=")) {
String[] ranges = rangeHeader.replace("bytes=", "").split("-");
long start = Long.parseLong(ranges[0]);
long end = ranges.length > 1 && !ranges[1].isEmpty() ? Long.parseLong(ranges[1]) : contentLength - 1;
if (start >= contentLength || end >= contentLength || start > end) {
return ResponseEntity.status(HttpStatus.REQUESTED_RANGE_NOT_SATISFIABLE)
.header("Content-Range", "bytes */" + contentLength)
.build();
}
long rangeLength = end - start + 1;
byte[] rangeData = new byte[(int) rangeLength];
System.arraycopy(data, (int) start, rangeData, 0, (int) rangeLength);
headers.add("Content-Range", "bytes " + start + "-" + end + "/" + contentLength);
headers.add("Content-Length", String.valueOf(rangeLength));
return new ResponseEntity<>(rangeData, headers, HttpStatus.PARTIAL_CONTENT);
}
headers.add("Content-Length", String.valueOf(contentLength));
return new ResponseEntity<>(data, headers, HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
String error = "{\"error\":\"" + e.getMessage() + "\"}";
return new ResponseEntity<>(error.getBytes(StandardCharsets.UTF_8), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
} }

View File

@ -1015,7 +1015,10 @@ public class Products implements ServletContextAware {
} }
//Получить плотность имаго за последние 5 лет //Получить плотность имаго за последние 5 лет
@RequestMapping(value = {"/get_density_imago", "/api/locust/v01/get_density_imago"},method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @RequestMapping(
value = {"/get_density_imago", "/api/locust/v01/get_density_imago"},
method = {RequestMethod.POST, RequestMethod.GET},
produces = "application/json;charset=UTF-8")
@ResponseBody @ResponseBody
public ResponseEntity<Object> getDensityImago( public ResponseEntity<Object> getDensityImago(
@ModelAttribute User user, @ModelAttribute User user,

View File

@ -1,7 +1,9 @@
package org.ccalm.main; package org.ccalm.main;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -29,12 +31,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.context.ServletContextAware; import org.springframework.web.context.ServletContextAware;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
@ -66,9 +63,30 @@ public class QGIS implements ServletContextAware {
// return new User("none"); // return new User("none");
//} //}
@RequestMapping(value = {"/QGIS", "/api/locust/v01/QGIS"},method = RequestMethod.GET,produces = "application/octet-stream") //TEST https://127.0.0.1:8083/api/locust/v01/QGIS?name=SMAP&date=2025-05-30
//TEST https://ccalm.org/api/locust/v01/QGIS?name=SMAP&day=150
@RequestMapping(
value = {"/QGIS", "/api/locust/v01/QGIS"},
method = RequestMethod.GET,produces = "application/octet-stream")
@ResponseBody @ResponseBody
public HttpEntity<byte[]> ajaxTamer(@ModelAttribute User user, @RequestParam(required=false,name="day") String day, @RequestParam(required=false,name="name") String name, @RequestParam(required=false,name="time") String time, @RequestParam(required=false,name="time_start") String time_start, @RequestParam(required=false,name="time_end") String time_end, @RequestParam(required=false,name="country_id") String country_id, @RequestParam(required=false,name="locust_type_id") String locust_type_id, @RequestParam(required=false,name="date_start") String date_start, @RequestParam(required=false,name="date_end") String date_end, @RequestParam(required=false,name="registered") String registered, @RequestParam(required=false,name="year") String year, @RequestParam(required=false,name="region_id") String region_id, @RequestParam(required=false,name="country_name") String country_name, @RequestParam(required=false,name="lng") String language_id, HttpServletResponse response) public HttpEntity<byte[]> ajaxTamer(
@ModelAttribute User user,
@RequestParam(required=false,name="day") String day,
@RequestParam(required=false,name="date") String date,
@RequestParam(required=false,name="name") String name,
@RequestParam(required=false,name="time") String time,
@RequestParam(required=false,name="time_start") String time_start,
@RequestParam(required=false,name="time_end") String time_end,
@RequestParam(required=false,name="country_id") String country_id,
@RequestParam(required=false,name="locust_type_id") String locust_type_id,
@RequestParam(required=false,name="date_start") String date_start,
@RequestParam(required=false,name="date_end") String date_end,
@RequestParam(required=false,name="registered") String registered,
@RequestParam(required=false,name="year") String year,
@RequestParam(required=false,name="region_id") String region_id,
@RequestParam(required=false,name="country_name") String country_name,
@CookieValue(value = "lng", defaultValue = "1") String language_id,
HttpServletResponse response)
{ {
if(language_id!=null && !language_id.isEmpty()) user.language_id=language_id; if(language_id!=null && !language_id.isEmpty()) user.language_id=language_id;
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id); logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
@ -84,8 +102,7 @@ public class QGIS implements ServletContextAware {
} catch (Exception ex) { } catch (Exception ex) {
logger.info(ex.getMessage()); logger.info(ex.getMessage());
} }
//Return content QGIS file. //Return content QGIS file.
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
@ -94,9 +111,77 @@ public class QGIS implements ServletContextAware {
String fileAsString=""; String fileAsString="";
//Pods (кубышки) //Pods (кубышки)
if(name!=null && (name.equals("frmlocust_pods_density") || name.equals("frmlocust_hoppers_density") || name.equals("frmlocust_bands") || name.equals("frmlocust_adults_density") || name.equals("frmlocust_swarms"))) //TODO NEW format
if(name!=null && (name.equals("frmlocust_pods_density")))
{
fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//String country_id=request.getParameter("country_id");
//String locust_type_id=request.getParameter("locust_type_id");
//String date_start=request.getParameter("date_start");
//String date_end=request.getParameter("date_end");
//String registered=request.getParameter("registered");
//Make SQL
String sql = "mode=1";
String sql2 = "mode=1";
if(country_id!=null && !country_id.isEmpty())
{
if(country_id.equals("-1"))
{
//sql+=" and country_id in (7,3,4,2)"; TODO
//sql2+=" and country_id in (7,3,4,2)"; TODO
}else if(country_id.equals("-2"))
{
//sql+=" and country_id in (7,1,5,6,8,9,10)"; TODO
//sql2+=" and country_id in (7,1,5,6,8,9,10)"; TODO
}else
{
sql+="&amp;country_id="+country_id;
sql2+="&amp;country_id="+country_id;
}
}
if(region_id!=null && !region_id.isEmpty())
{
sql+="&amp;region_id="+region_id;
}
if(locust_type_id!=null && !locust_type_id.isEmpty())
{
sql+="&amp;locust_type_id="+locust_type_id;
}
if(date_start!=null && !date_start.isEmpty())
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(date_start, formatter);
long epochSeconds = localDateTime.toEpochSecond(ZoneOffset.UTC);
sql+="&amp;date_start="+epochSeconds;
}
if(date_end!=null && !date_end.isEmpty())
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(date_end, formatter);
long epochSeconds = localDateTime.toEpochSecond(ZoneOffset.UTC);
sql+="&amp;date_end="+epochSeconds;
}
if(registered!=null && registered.equals("1"))
{
sql+="&amp;registered=true";
}else
if(registered!=null && registered.equals("0"))
{
sql+="&amp;registered=false";
}
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{params\\}",sql);
fileAsString=fileAsString.replaceAll("\\$\\{params2\\}",sql2);
}
//TODO OLD format
if(name!=null && (name.equals("frmlocust_hoppers_density") || name.equals("frmlocust_bands") || name.equals("frmlocust_adults_density") || name.equals("frmlocust_swarms")))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//String country_id=request.getParameter("country_id"); //String country_id=request.getParameter("country_id");
//String locust_type_id=request.getParameter("locust_type_id"); //String locust_type_id=request.getParameter("locust_type_id");
@ -154,7 +239,7 @@ public class QGIS implements ServletContextAware {
if(name!=null && name.equals("frmlocustdel")) if(name!=null && name.equals("frmlocustdel"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//String country_id=request.getParameter("country_id"); //String country_id=request.getParameter("country_id");
//String date_start=request.getParameter("date_start"); //String date_start=request.getParameter("date_start");
@ -231,7 +316,7 @@ public class QGIS implements ServletContextAware {
sql+=" and locust_type_id="+locust_type_id; sql+=" and locust_type_id="+locust_type_id;
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year); fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql); fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
@ -254,7 +339,7 @@ public class QGIS implements ServletContextAware {
sql+=" and locust_type_id="+locust_type_id; sql+=" and locust_type_id="+locust_type_id;
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year); fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql); fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
@ -277,7 +362,7 @@ public class QGIS implements ServletContextAware {
} }
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name); fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2); fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
@ -301,7 +386,7 @@ public class QGIS implements ServletContextAware {
} }
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name); fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2); fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
@ -325,7 +410,7 @@ public class QGIS implements ServletContextAware {
} }
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name); fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2); fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
@ -349,7 +434,7 @@ public class QGIS implements ServletContextAware {
} }
} }
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs")); fileAsString = fileToString("static/resources/QGIS/" + name + ".qgs");
//Apply variables to text //Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name); fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2); fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
@ -358,7 +443,7 @@ public class QGIS implements ServletContextAware {
} }
if(name!=null && name.equals("NDVI")) if(name!=null && name.equals("NDVI"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDVI.qgs")); fileAsString = fileToString("static/resources/QGIS/NDVI.qgs");
if(day!=null && day.length()>0) if(day!=null && day.length()>0)
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_"); fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
else else
@ -366,7 +451,7 @@ public class QGIS implements ServletContextAware {
} }
if(name!=null && name.equals("NDWI")) if(name!=null && name.equals("NDWI"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI.qgs")); fileAsString = fileToString("static/resources/QGIS/NDWI.qgs");
if(day!=null && day.length()>0) if(day!=null && day.length()>0)
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_"); fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
else else
@ -374,7 +459,7 @@ public class QGIS implements ServletContextAware {
} }
if(name!=null && name.equals("IVI")) if(name!=null && name.equals("IVI"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/IVI.qgs")); fileAsString = fileToString("static/resources/QGIS/IVI.qgs");
if(year!=null && year.length()>0) if(year!=null && year.length()>0)
fileAsString = fileAsString.replaceAll("\\$\\{year\\}",year+"_"); fileAsString = fileAsString.replaceAll("\\$\\{year\\}",year+"_");
else else
@ -382,7 +467,7 @@ public class QGIS implements ServletContextAware {
} }
if(name!=null && name.equals("NDWI_CMP")) if(name!=null && name.equals("NDWI_CMP"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI_CMP.qgs")); fileAsString = fileToString("static/resources/QGIS/NDWI_CMP.qgs");
if(day!=null && day.length()>0) if(day!=null && day.length()>0)
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_"); fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
else else
@ -390,19 +475,19 @@ public class QGIS implements ServletContextAware {
} }
if(name!=null && name.equals("NDSI")) if(name!=null && name.equals("NDSI"))
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDSI.qgs")); fileAsString = fileToString("static/resources/QGIS/NDSI.qgs");
if(day!=null && day.length()>0) if(day!=null && day.length()>0)
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_"); fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
else else
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",""); fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
} }
if(name!=null && name.equals("SMAP")) if(name!=null && name.equals("SMAP")) //https://127.0.0.1:8083/api/locust/v01/QGIS?name=SMAP&date=2025-05-30
{ {
fileAsString = fileToString(context.getRealPath("/resources/QGIS/SMAP.qgs")); fileAsString = fileToString("static/resources/QGIS/SMAP.qgs");
if(day!=null && day.length()>0) if(date!=null && !date.isEmpty())
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_"); fileAsString = fileAsString.replaceAll("\\$\\{date\\}",date);
else else
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",""); fileAsString = fileAsString.replaceAll("\\$\\{date\\}","");
} }
//Send data //Send data
@ -415,27 +500,42 @@ public class QGIS implements ServletContextAware {
this.context=servletContext; this.context=servletContext;
} }
public String fileToString(String fName)
{ public String fileToString(String fName) {
StringBuilder sb = new StringBuilder(1024); StringBuilder sb = new StringBuilder(1024);
try
{ // 1. Сначала пробуем как внешний файл
InputStream is = new FileInputStream(fName); try (InputStream is = new FileInputStream(fName);
BufferedReader buf = new BufferedReader(new InputStreamReader(is)); BufferedReader buf = new BufferedReader(new InputStreamReader(is))) {
String line = buf.readLine();
while(line != null) String line;
{ while ((line = buf.readLine()) != null) {
sb.append(line).append("\n"); sb.append(line).append("\n");
line = buf.readLine();
} }
buf.close(); return sb.toString();
} catch (Exception e) {
System.out.println("Не найден внешний файл, пробую искать в ресурсах: " + fName);
} }
catch (Exception e){
System.out.println("Error: "+e.getMessage()); // 2. Если файла нет, пробуем как ресурс из classpath
try (InputStream is = new ClassPathResource(fName).getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(is))) {
String line;
while ((line = buf.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (Exception e) {
System.out.println("Ошибка при чтении из ресурсов: " + e.getMessage());
} }
return sb.toString(); return sb.toString();
} }
public String trt(Connection conn,String key,User user) public String trt(Connection conn,String key,User user)
{ {
String result=""; String result="";

View File

@ -121,6 +121,7 @@ public class SendWarning {
String sql = """ String sql = """
select select
t.uid, t.uid,
t.name,
t.user_uid, t.user_uid,
t.lat, t.lat,
t.lon, t.lon,
@ -147,7 +148,7 @@ public class SendWarning {
JSONObject tmp_air = getAirTemperature(obj.getDouble("lat"),obj.getDouble("lon")); JSONObject tmp_air = getAirTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
JSONObject tmp_soil = getSoilTemperature(obj.getDouble("lat"),obj.getDouble("lon")); JSONObject tmp_soil = getSoilTemperature(obj.getDouble("lat"),obj.getDouble("lon"));
if(tmp_air!=null && obj.getBoolean("warn_air")) { if(tmp_air!=null && obj.getBoolean("warn_air") && !obj.isNull("temperature_air")) {
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate); Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
double value = obj.getDouble("temperature_air"); double value = obj.getDouble("temperature_air");
if (value < tmp_air.getDouble("value")) { if (value < tmp_air.getDouble("value")) {
@ -169,10 +170,12 @@ public class SendWarning {
.append("<body>") .append("<body>")
.append("<div class='container'>") .append("<div class='container'>")
.append("<h2>").append(trt.trt(true,"Warning")).append("</h2>") .append("<h2>").append(trt.trt(true,"Warning")).append("</h2>")
.append("<p>").append(trt.trt(true,"The_soil_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("</p>") .append("<p>").append(trt.trt(true,"The_air_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("</p>")
.append("<table>") .append("<table>")
.append("<tr><th>").append(trt.trt(true,"Name")).append("</th><td>").append(obj.getString("name")).append("</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Date")).append("</th><td>").append(tmp_air.getString("date")).append("</td></tr>") .append("<tr><th>").append(trt.trt(true,"Date")).append("</th><td>").append(tmp_air.getString("date")).append("</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Value")).append("</th><td>").append(tmp_air.getDouble("value")).append(" °C</td></tr>") .append("<tr><th>").append(trt.trt(true,"Value")).append("</th><td>").append(tmp_air.getDouble("value")).append(" °C</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Location")).append("</th><td><a href='https://www.google.com/maps?q=").append(obj.getDouble("lat")).append(",").append(obj.getDouble("lon")).append("' target='_blank'>").append(obj.getDouble("lat")).append(", ").append(obj.getDouble("lon")).append("</a></td></tr>")
.append("</table>") .append("</table>")
.append(trt.trt(true,"To_resume_monitoring_please_set_the_warn_field_to_true")) .append(trt.trt(true,"To_resume_monitoring_please_set_the_warn_field_to_true"))
.append("</div>") // Закрываем контейнер .append("</div>") // Закрываем контейнер
@ -192,7 +195,9 @@ public class SendWarning {
main.frmcheckpoints main.frmcheckpoints
set set
warn_air=false warn_air=false
where uid=CAST(:uid AS uuid) where
uid=CAST(:uid AS uuid)
and (warn_hold!=true or warn_hold is null)
"""; """;
MapSqlParameterSource param = new MapSqlParameterSource(); MapSqlParameterSource param = new MapSqlParameterSource();
param.addValue("uid", obj.getString("uid"), Types.VARCHAR); param.addValue("uid", obj.getString("uid"), Types.VARCHAR);
@ -202,7 +207,7 @@ public class SendWarning {
} }
} }
if(tmp_soil!=null && obj.getBoolean("warn_soil")) { if(tmp_soil!=null && obj.getBoolean("warn_soil") && !obj.isNull("temperature_soil")) {
Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate); Translation trt=new Translation(obj.getString("short_name"),jdbcTemplate);
double value = obj.getDouble("temperature_soil"); double value = obj.getDouble("temperature_soil");
if (value < tmp_soil.getDouble("value")) { if (value < tmp_soil.getDouble("value")) {
@ -226,8 +231,10 @@ public class SendWarning {
.append("<h2>").append(trt.trt(true,"Warning")).append("</h2>") .append("<h2>").append(trt.trt(true,"Warning")).append("</h2>")
.append("<p>").append(trt.trt(true,"The_soil_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("</p>") .append("<p>").append(trt.trt(true,"The_soil_temperature_has_exceeded_the_set_value")).append(": ").append(value).append("</p>")
.append("<table>") .append("<table>")
.append("<tr><th>").append(trt.trt(true,"Name")).append("</th><td>").append(obj.getString("name")).append("</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Date")).append("</th><td>").append(tmp_soil.getString("date")).append("</td></tr>") .append("<tr><th>").append(trt.trt(true,"Date")).append("</th><td>").append(tmp_soil.getString("date")).append("</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Value")).append("</th><td>").append(tmp_soil.getDouble("value")).append(" °C</td></tr>") .append("<tr><th>").append(trt.trt(true,"Value")).append("</th><td>").append(tmp_soil.getDouble("value")).append(" °C</td></tr>")
.append("<tr><th>").append(trt.trt(true,"Location")).append("</th><td><a href='https://www.google.com/maps?q=").append(obj.getDouble("lat")).append(",").append(obj.getDouble("lon")).append("' target='_blank'>").append(obj.getDouble("lat")).append(", ").append(obj.getDouble("lon")).append("</a></td></tr>")
.append("</table>") .append("</table>")
.append(trt.trt(true,"To_resume_monitoring_please_set_the_warn_field_to_true")) .append(trt.trt(true,"To_resume_monitoring_please_set_the_warn_field_to_true"))
.append("</div>") // Закрываем контейнер .append("</div>") // Закрываем контейнер
@ -247,7 +254,9 @@ public class SendWarning {
main.frmcheckpoints main.frmcheckpoints
set set
warn_soil=false warn_soil=false
where uid=CAST(:uid AS uuid) where
uid=CAST(:uid AS uuid)
and (warn_hold!=true or warn_hold is null)
"""; """;
MapSqlParameterSource param = new MapSqlParameterSource(); MapSqlParameterSource param = new MapSqlParameterSource();
param.addValue("uid", obj.getString("uid"), Types.VARCHAR); param.addValue("uid", obj.getString("uid"), Types.VARCHAR);
@ -260,6 +269,7 @@ public class SendWarning {
} catch (Exception ex) { } catch (Exception ex) {
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
logger.error(MarkerFactory.getMarker(uuid),ex.getMessage(), ex); logger.error(MarkerFactory.getMarker(uuid),ex.getMessage(), ex);
result.put("error_code", 10000);
} }
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }

View File

@ -0,0 +1,4 @@
package org.ccalm.main.models;
public class FrmLocustDelModel {
}

View File

@ -0,0 +1,4 @@
package org.ccalm.main.models;
public class FrmLocustHealthModel {
}

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<conversionRule conversionWord="exOneLine" converterClass="org.ccalm.main.SingleLineThrowableProxyConverter"/> <!-- Ваш кастомный conversionRule для single-line исключений -->
<conversionRule conversionWord="exOneLine" converterClass="org.ccalm.dbms.SingleLineThrowableProxyConverter"/>
<property name="LOGS" value="logs" /> <property name="LOGS" value="logs" />
<springProperty scope="context" name="appName" source="spring.application.name"/> <springProperty scope="context" name="appName" source="spring.application.name"/>
@ -9,15 +10,38 @@
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOGS}/${appName}.log</file> <file>${LOGS}/${appName}.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"> <encoder class="net.logstash.logback.encoder.LogstashEncoder">
<!-- Настраиваем поля для JSON --> <!-- Кастомные имена полей -->
<fieldNames> <fieldNames>
<timestamp>timestamp</timestamp> <timestamp>timestamp</timestamp> <!-- Без @ -->
<thread>thread</thread>
<level>level</level> <level>level</level>
<logger>logger</logger>
<message>message</message> <message>message</message>
<exception>exception</exception> <stack_trace>exception</stack_trace>
<version>[ignore]</version>
<threadName>[ignore]</threadName>
<loggerName>[ignore]</loggerName>
<levelValue>[ignore]</levelValue>
<mdc>[ignore]</mdc>
</fieldNames> </fieldNames>
<!-- Формат timestamp -->
<timestampPattern>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</timestampPattern>
<timestampTimeZone>UTC</timestampTimeZone>
<!-- Включаем маркеры (tags для MarkerFactory) -->
<includeTags>true</includeTags>
<!-- Отключаем лишние данные -->
<includeCallerData>false</includeCallerData>
<includeContext>false</includeContext>
<!-- Single-line исключения -->
<throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
<maxDepthPerThrowable>1</maxDepthPerThrowable>
<maxLength>1024</maxLength>
<shortenedClassNameLength>20</shortenedClassNameLength>
<exclude>$$FastClassByCGLIB$$</exclude>
<exclude>$$EnhancerBySpringCGLIB$$</exclude>
</throwableConverter>
</encoder> </encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOGS}/${appName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <fileNamePattern>${LOGS}/${appName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
@ -29,11 +53,13 @@
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'} | %level | %logger{36} | %msg%n</pattern> <pattern>
%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'} | %level | %logger{36} | %marker | %msg%n
</pattern>
</encoder> </encoder>
</appender> </appender>
<root level="warn"> <root level="info">
<appender-ref ref="FILE" /> <appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" /> <appender-ref ref="CONSOLE" />
</root> </root>

View File

@ -0,0 +1,326 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis version="3.6.0-Noosa" projectname="">
<homePath path=""/>
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
<projectCrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<layer-tree-group>
<customproperties/>
<layer-tree-layer name="IVI" id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" source="contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=IVI:${year}IVI_h20v03&amp;layers=IVI:${year}IVI_h20v04&amp;layers=IVI:${year}IVI_h21v03&amp;layers=IVI:${year}IVI_h21v04&amp;layers=IVI:${year}IVI_h21v05&amp;layers=IVI:${year}IVI_h22v03&amp;layers=IVI:${year}IVI_h22v04&amp;layers=IVI:${year}IVI_h22v05&amp;layers=IVI:${year}IVI_h23v03&amp;layers=IVI:${year}IVI_h23v04&amp;layers=IVI:${year}IVI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms" expanded="0" checked="Qt::Checked" providerKey="wms">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer name="OpenStreetMap" id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" expanded="1" checked="Qt::Checked" providerKey="wms">
<customproperties/>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</item>
<item>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</item>
</custom-order>
</layer-tree-group>
<snapping-settings mode="2" unit="1" type="1" enabled="0" intersection-snapping="0" tolerance="12">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<mapcanvas name="theMapCanvas" annotationsVisible="1">
<units>meters</units>
<extent>
<xmin>2465883.50908621679991484</xmin>
<ymin>264579.77565301861613989</ymin>
<xmax>12985575.38905057311058044</xmax>
<ymax>10784271.65561737865209579</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer name="IVI" drawingOrder="-1" checked="Qt::Checked" showFeatureCount="0" open="false">
<filegroup open="false" hidden="false">
<legendlayerfile layerid="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" visible="1" isInOverview="0"/>
</filegroup>
</legendlayer>
<legendlayer name="OpenStreetMap" drawingOrder="-1" checked="Qt::Checked" showFeatureCount="0" open="true">
<filegroup open="true" hidden="false">
<legendlayerfile layerid="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" visible="1" isInOverview="0"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<mapViewDocks3D/>
<projectlayers>
<maplayer type="raster" refreshOnNotifyEnabled="0" autoRefreshEnabled="0" hasScaleBasedVisibilityFlag="0" refreshOnNotifyMessage="" autoRefreshTime="0" minScale="1e+08" maxScale="0" styleCategories="AllStyleCategories">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278925508260727</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924390673637</ymax>
</extent>
<id>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="identify/format" value="Undefined"/>
<property key="ol_layer_type" value="OpenStreetMap"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" contrast="0"/>
<huesaturation colorizeStrength="100" grayscaleMode="0" colorizeGreen="128" colorizeBlue="128" colorizeOn="0" saturation="0" colorizeRed="255"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer type="raster" refreshOnNotifyEnabled="0" autoRefreshEnabled="0" hasScaleBasedVisibilityFlag="0" refreshOnNotifyMessage="" autoRefreshTime="0" minScale="1e+08" maxScale="0" styleCategories="AllStyleCategories">
<extent>
<xmin>2906345.494111736305058</xmin>
<ymin>3503584.68813749961555004</ymin>
<xmax>13358323.19605071656405926</xmax>
<ymax>8399737.88861873932182789</ymax>
</extent>
<id>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</id>
<datasource>contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=IVI:${year}IVI_h20v03&amp;layers=IVI:${year}IVI_h20v04&amp;layers=IVI:${year}IVI_h21v03&amp;layers=IVI:${year}IVI_h21v04&amp;layers=IVI:${year}IVI_h21v05&amp;layers=IVI:${year}IVI_h22v03&amp;layers=IVI:${year}IVI_h22v04&amp;layers=IVI:${year}IVI_h22v05&amp;layers=IVI:${year}IVI_h23v03&amp;layers=IVI:${year}IVI_h23v04&amp;layers=IVI:${year}IVI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${year}IVI</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<contact>
<name></name>
<organization></organization>
<position></position>
<voice></voice>
<fax></fax>
<email></email>
<role></role>
</contact>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial minx="0" dimensions="2" minz="0" maxz="0" maxy="0" crs="" miny="0" maxx="0"/>
<temporal>
<period>
<start></start>
<end></end>
</period>
</temporal>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="WMSBackgroundLayer" value="false"/>
<property key="WMSPublishDataSourceUrl" value="false"/>
<property key="embeddedWidgets/count" value="0"/>
<property key="identify/format" value="Html"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" contrast="0"/>
<huesaturation colorizeStrength="100" grayscaleMode="0" colorizeGreen="128" colorizeBlue="128" colorizeOn="0" saturation="0" colorizeRed="255"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
<layer id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</layerorder>
<properties>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<Measure>
<Ellipsoid type="QString">WGS84</Ellipsoid>
</Measure>
<Gui>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<PAL>
<DrawOutlineLabels type="bool">true</DrawOutlineLabels>
<DrawRectOnly type="bool">false</DrawRectOnly>
<TextFormat type="int">0</TextFormat>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<CandidatesPoint type="int">16</CandidatesPoint>
<CandidatesLine type="int">50</CandidatesLine>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
</PAL>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
</properties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<author><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.</author>
<creation>2019-06-10T14:55:55</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
</qgis>

View File

@ -0,0 +1,354 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" saveUser="ivanov.i" version="3.12.3-București" saveUserFull="Иванов И.">
<homePath path=""/>
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
<projectCrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<layer-tree-group>
<customproperties/>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDSI:${day}NDSI_h20v03&amp;layers=NDSI:${day}NDSI_h20v04&amp;layers=NDSI:${day}NDSI_h21v03&amp;layers=NDSI:${day}NDSI_h21v04&amp;layers=NDSI:${day}NDSI_h21v05&amp;layers=NDSI:${day}NDSI_h22v03&amp;layers=NDSI:${day}NDSI_h22v04&amp;layers=NDSI:${day}NDSI_h22v05&amp;layers=NDSI:${day}NDSI_h23v03&amp;layers=NDSI:${day}NDSI_h23v04&amp;layers=NDSI:${day}NDSI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms" legend_exp="" id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" name="NDSI">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" legend_exp="" id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" name="OpenStreetMap">
<customproperties/>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</item>
<item>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</item>
</custom-order>
</layer-tree-group>
<snapping-settings intersection-snapping="0" enabled="0" type="1" mode="2" tolerance="12" unit="1">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<mapcanvas annotationsVisible="1" name="theMapCanvas">
<units>meters</units>
<extent>
<xmin>3863030.08689398271963</xmin>
<ymin>3270963.49336460698395967</ymin>
<xmax>9122876.02687616087496281</xmax>
<ymax>8530809.43334678560495377</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="NDSI">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</filegroup>
</legendlayer>
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="OpenStreetMap">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<mapViewDocks3D/>
<projectlayers>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278925508260727</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924390673637</ymax>
</extent>
<id>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="identify/format" value="Undefined"/>
<property key="ol_layer_type" value="OpenStreetMap"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>2906345.49411173490807414</xmin>
<ymin>3503584.68813749961555004</ymin>
<xmax>13358323.19605071656405926</xmax>
<ymax>8399737.88861873932182789</ymax>
</extent>
<id>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</id>
<datasource>contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDSI:${day}NDSI_h20v03&amp;layers=NDSI:${day}NDSI_h20v04&amp;layers=NDSI:${day}NDSI_h21v03&amp;layers=NDSI:${day}NDSI_h21v04&amp;layers=NDSI:${day}NDSI_h21v05&amp;layers=NDSI:${day}NDSI_h22v03&amp;layers=NDSI:${day}NDSI_h22v04&amp;layers=NDSI:${day}NDSI_h22v05&amp;layers=NDSI:${day}NDSI_h23v03&amp;layers=NDSI:${day}NDSI_h23v04&amp;layers=NDSI:${day}NDSI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${day}NDSI</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<contact>
<name></name>
<organization></organization>
<position></position>
<voice></voice>
<fax></fax>
<email></email>
<role></role>
</contact>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial minz="0" minx="0" miny="0" crs="" maxz="0" dimensions="2" maxy="0" maxx="0"/>
<temporal>
<period>
<start></start>
<end></end>
</period>
</temporal>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="WMSBackgroundLayer" value="false"/>
<property key="WMSPublishDataSourceUrl" value="false"/>
<property key="embeddedWidgets/count" value="0"/>
<property key="identify/format" value="Html"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
<layer id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</layerorder>
<properties>
<Gui>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<Measure>
<Ellipsoid type="QString">WGS84</Ellipsoid>
</Measure>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
<PAL>
<CandidatesLine type="int">50</CandidatesLine>
<CandidatesLinePerCM type="double">5</CandidatesLinePerCM>
<CandidatesPoint type="int">16</CandidatesPoint>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<CandidatesPolygonPerCM type="double">2.5</CandidatesPolygonPerCM>
<DrawOutlineLabels type="bool">true</DrawOutlineLabels>
<DrawRectOnly type="bool">false</DrawRectOnly>
<DrawUnplaced type="bool">false</DrawUnplaced>
<PlacementEngineVersion type="int">0</PlacementEngineVersion>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<TextFormat type="int">0</TextFormat>
<UnplacedColor type="QString">255,0,0,255</UnplacedColor>
</PAL>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
</properties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<author><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.</author>
<creation>2019-06-10T14:55:55</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
<Bookmarks/>
<ProjectViewSettings UseProjectScales="0">
<Scales/>
</ProjectViewSettings>
<ProjectDisplaySettings>
<BearingFormat id="bearing">
<Option type="Map">
<Option type="QChar" value="" name="decimal_separator"/>
<Option type="int" value="6" name="decimals"/>
<Option type="int" value="0" name="direction_format"/>
<Option type="int" value="0" name="rounding_type"/>
<Option type="bool" value="false" name="show_plus"/>
<Option type="bool" value="true" name="show_thousand_separator"/>
<Option type="bool" value="false" name="show_trailing_zeros"/>
<Option type="QChar" value="" name="thousand_separator"/>
</Option>
</BearingFormat>
</ProjectDisplaySettings>
</qgis>

View File

@ -0,0 +1,326 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis version="3.6.0-Noosa" projectname="">
<homePath path=""/>
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
<projectCrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<layer-tree-group>
<customproperties/>
<layer-tree-layer name="NDVI" id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" source="contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDVI:${day}NDVI_h20v03&amp;layers=NDVI:${day}NDVI_h20v04&amp;layers=NDVI:${day}NDVI_h21v03&amp;layers=NDVI:${day}NDVI_h21v04&amp;layers=NDVI:${day}NDVI_h21v05&amp;layers=NDVI:${day}NDVI_h22v03&amp;layers=NDVI:${day}NDVI_h22v04&amp;layers=NDVI:${day}NDVI_h22v05&amp;layers=NDVI:${day}NDVI_h23v03&amp;layers=NDVI:${day}NDVI_h23v04&amp;layers=NDVI:${day}NDVI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms" expanded="0" checked="Qt::Checked" providerKey="wms">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer name="OpenStreetMap" id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" expanded="1" checked="Qt::Checked" providerKey="wms">
<customproperties/>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</item>
<item>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</item>
</custom-order>
</layer-tree-group>
<snapping-settings mode="2" unit="1" type="1" enabled="0" intersection-snapping="0" tolerance="12">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<mapcanvas name="theMapCanvas" annotationsVisible="1">
<units>meters</units>
<extent>
<xmin>2465883.50908621679991484</xmin>
<ymin>264579.77565301861613989</ymin>
<xmax>12985575.38905057311058044</xmax>
<ymax>10784271.65561737865209579</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer name="NDVI" drawingOrder="-1" checked="Qt::Checked" showFeatureCount="0" open="false">
<filegroup open="false" hidden="false">
<legendlayerfile layerid="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" visible="1" isInOverview="0"/>
</filegroup>
</legendlayer>
<legendlayer name="OpenStreetMap" drawingOrder="-1" checked="Qt::Checked" showFeatureCount="0" open="true">
<filegroup open="true" hidden="false">
<legendlayerfile layerid="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" visible="1" isInOverview="0"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<mapViewDocks3D/>
<projectlayers>
<maplayer type="raster" refreshOnNotifyEnabled="0" autoRefreshEnabled="0" hasScaleBasedVisibilityFlag="0" refreshOnNotifyMessage="" autoRefreshTime="0" minScale="1e+08" maxScale="0" styleCategories="AllStyleCategories">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278925508260727</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924390673637</ymax>
</extent>
<id>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="identify/format" value="Undefined"/>
<property key="ol_layer_type" value="OpenStreetMap"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" contrast="0"/>
<huesaturation colorizeStrength="100" grayscaleMode="0" colorizeGreen="128" colorizeBlue="128" colorizeOn="0" saturation="0" colorizeRed="255"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer type="raster" refreshOnNotifyEnabled="0" autoRefreshEnabled="0" hasScaleBasedVisibilityFlag="0" refreshOnNotifyMessage="" autoRefreshTime="0" minScale="1e+08" maxScale="0" styleCategories="AllStyleCategories">
<extent>
<xmin>2906345.494111736305058</xmin>
<ymin>3503584.68813749961555004</ymin>
<xmax>13358323.19605071656405926</xmax>
<ymax>8399737.88861873932182789</ymax>
</extent>
<id>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</id>
<datasource>contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDVI:${day}NDVI_h20v03&amp;layers=NDVI:${day}NDVI_h20v04&amp;layers=NDVI:${day}NDVI_h21v03&amp;layers=NDVI:${day}NDVI_h21v04&amp;layers=NDVI:${day}NDVI_h21v05&amp;layers=NDVI:${day}NDVI_h22v03&amp;layers=NDVI:${day}NDVI_h22v04&amp;layers=NDVI:${day}NDVI_h22v05&amp;layers=NDVI:${day}NDVI_h23v03&amp;layers=NDVI:${day}NDVI_h23v04&amp;layers=NDVI:${day}NDVI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${day}NDVI</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<contact>
<name></name>
<organization></organization>
<position></position>
<voice></voice>
<fax></fax>
<email></email>
<role></role>
</contact>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial minx="0" dimensions="2" minz="0" maxz="0" maxy="0" crs="" miny="0" maxx="0"/>
<temporal>
<period>
<start></start>
<end></end>
</period>
</temporal>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="WMSBackgroundLayer" value="false"/>
<property key="WMSPublishDataSourceUrl" value="false"/>
<property key="embeddedWidgets/count" value="0"/>
<property key="identify/format" value="Html"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" contrast="0"/>
<huesaturation colorizeStrength="100" grayscaleMode="0" colorizeGreen="128" colorizeBlue="128" colorizeOn="0" saturation="0" colorizeRed="255"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
<layer id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</layerorder>
<properties>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<Measure>
<Ellipsoid type="QString">WGS84</Ellipsoid>
</Measure>
<Gui>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<PAL>
<DrawOutlineLabels type="bool">true</DrawOutlineLabels>
<DrawRectOnly type="bool">false</DrawRectOnly>
<TextFormat type="int">0</TextFormat>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<CandidatesPoint type="int">16</CandidatesPoint>
<CandidatesLine type="int">50</CandidatesLine>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
</PAL>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
</properties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<author><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.</author>
<creation>2019-06-10T14:55:55</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
</qgis>

View File

@ -0,0 +1,354 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" saveUser="ivanov.i" version="3.12.3-București" saveUserFull="Иванов И.">
<homePath path=""/>
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
<projectCrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<layer-tree-group>
<customproperties/>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDWI:${day}NDWI_h20v03&amp;layers=NDWI:${day}NDWI_h20v04&amp;layers=NDWI:${day}NDWI_h21v03&amp;layers=NDWI:${day}NDWI_h21v04&amp;layers=NDWI:${day}NDWI_h21v05&amp;layers=NDWI:${day}NDWI_h22v03&amp;layers=NDWI:${day}NDWI_h22v04&amp;layers=NDWI:${day}NDWI_h22v05&amp;layers=NDWI:${day}NDWI_h23v03&amp;layers=NDWI:${day}NDWI_h23v04&amp;layers=NDWI:${day}NDWI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms" legend_exp="" id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" name="NDWI">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" legend_exp="" id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" name="OpenStreetMap">
<customproperties/>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</item>
<item>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</item>
</custom-order>
</layer-tree-group>
<snapping-settings intersection-snapping="0" enabled="0" type="1" mode="2" tolerance="12" unit="1">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<mapcanvas annotationsVisible="1" name="theMapCanvas">
<units>meters</units>
<extent>
<xmin>3863030.08689398271963</xmin>
<ymin>3270963.49336460698395967</ymin>
<xmax>9122876.02687616087496281</xmax>
<ymax>8530809.43334678560495377</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="NDWI">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</filegroup>
</legendlayer>
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="OpenStreetMap">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<mapViewDocks3D/>
<projectlayers>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278925508260727</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924390673637</ymax>
</extent>
<id>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="identify/format" value="Undefined"/>
<property key="ol_layer_type" value="OpenStreetMap"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>2906345.49411173490807414</xmin>
<ymin>3503584.68813749961555004</ymin>
<xmax>13358323.19605071656405926</xmax>
<ymax>8399737.88861873932182789</ymax>
</extent>
<id>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</id>
<datasource>contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDWI:${day}NDWI_h20v03&amp;layers=NDWI:${day}NDWI_h20v04&amp;layers=NDWI:${day}NDWI_h21v03&amp;layers=NDWI:${day}NDWI_h21v04&amp;layers=NDWI:${day}NDWI_h21v05&amp;layers=NDWI:${day}NDWI_h22v03&amp;layers=NDWI:${day}NDWI_h22v04&amp;layers=NDWI:${day}NDWI_h22v05&amp;layers=NDWI:${day}NDWI_h23v03&amp;layers=NDWI:${day}NDWI_h23v04&amp;layers=NDWI:${day}NDWI_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${day}NDWI</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<contact>
<name></name>
<organization></organization>
<position></position>
<voice></voice>
<fax></fax>
<email></email>
<role></role>
</contact>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial minz="0" minx="0" miny="0" crs="" maxz="0" dimensions="2" maxy="0" maxx="0"/>
<temporal>
<period>
<start></start>
<end></end>
</period>
</temporal>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="WMSBackgroundLayer" value="false"/>
<property key="WMSPublishDataSourceUrl" value="false"/>
<property key="embeddedWidgets/count" value="0"/>
<property key="identify/format" value="Html"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
<layer id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</layerorder>
<properties>
<Gui>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<Measure>
<Ellipsoid type="QString">WGS84</Ellipsoid>
</Measure>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
<PAL>
<CandidatesLine type="int">50</CandidatesLine>
<CandidatesLinePerCM type="double">5</CandidatesLinePerCM>
<CandidatesPoint type="int">16</CandidatesPoint>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<CandidatesPolygonPerCM type="double">2.5</CandidatesPolygonPerCM>
<DrawOutlineLabels type="bool">true</DrawOutlineLabels>
<DrawRectOnly type="bool">false</DrawRectOnly>
<DrawUnplaced type="bool">false</DrawUnplaced>
<PlacementEngineVersion type="int">0</PlacementEngineVersion>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<TextFormat type="int">0</TextFormat>
<UnplacedColor type="QString">255,0,0,255</UnplacedColor>
</PAL>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
</properties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<author><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.</author>
<creation>2019-06-10T14:55:55</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
<Bookmarks/>
<ProjectViewSettings UseProjectScales="0">
<Scales/>
</ProjectViewSettings>
<ProjectDisplaySettings>
<BearingFormat id="bearing">
<Option type="Map">
<Option type="QChar" value="" name="decimal_separator"/>
<Option type="int" value="6" name="decimals"/>
<Option type="int" value="0" name="direction_format"/>
<Option type="int" value="0" name="rounding_type"/>
<Option type="bool" value="false" name="show_plus"/>
<Option type="bool" value="true" name="show_thousand_separator"/>
<Option type="bool" value="false" name="show_trailing_zeros"/>
<Option type="QChar" value="" name="thousand_separator"/>
</Option>
</BearingFormat>
</ProjectDisplaySettings>
</qgis>

View File

@ -0,0 +1,354 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" saveUser="ivanov.i" version="3.12.3-București" saveUserFull="Иванов И.">
<homePath path=""/>
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<trust active="0"/>
<projectCrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<layer-tree-group>
<customproperties/>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDWI_CMP:${day}NDWI_CMP_h20v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h20v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v05&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v05&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms" legend_exp="" id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b" name="NDWI_CMP">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer checked="Qt::Checked" providerKey="wms" expanded="1" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" legend_exp="" id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416" name="OpenStreetMap">
<customproperties/>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</item>
<item>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</item>
</custom-order>
</layer-tree-group>
<snapping-settings intersection-snapping="0" enabled="0" type="1" mode="2" tolerance="12" unit="1">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<mapcanvas annotationsVisible="1" name="theMapCanvas">
<units>meters</units>
<extent>
<xmin>3863030.08689398271963</xmin>
<ymin>3270963.49336460698395967</ymin>
<xmax>9122876.02687616087496281</xmax>
<ymax>8530809.43334678560495377</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="NDWI_CMP">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</filegroup>
</legendlayer>
<legendlayer checked="Qt::Checked" showFeatureCount="0" drawingOrder="-1" open="true" name="OpenStreetMap">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" visible="1" layerid="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<mapViewDocks3D/>
<projectlayers>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278925508260727</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924390673637</ymax>
</extent>
<id>OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="identify/format" value="Undefined"/>
<property key="ol_layer_type" value="OpenStreetMap"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer styleCategories="AllStyleCategories" type="raster" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" minScale="1e+08" autoRefreshEnabled="0" maxScale="0" hasScaleBasedVisibilityFlag="0" autoRefreshTime="0">
<extent>
<xmin>2906345.49411173490807414</xmin>
<ymin>3503584.68813749961555004</ymin>
<xmax>13358323.19605071656405926</xmax>
<ymax>8399737.88861873932182789</ymax>
</extent>
<id>h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b</id>
<datasource>contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=NDWI_CMP:${day}NDWI_CMP_h20v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h20v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h21v05&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h22v05&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v03&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v04&amp;layers=NDWI_CMP:${day}NDWI_CMP_h23v05&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;styles=&amp;url=http://geoserver2.ccalm.org/wms</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${day}NDWI_CMP</layername>
<srs>
<spatialrefsys>
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<contact>
<name></name>
<organization></organization>
<position></position>
<voice></voice>
<fax></fax>
<email></email>
<role></role>
</contact>
<links/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys>
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial minz="0" minx="0" miny="0" crs="" maxz="0" dimensions="2" maxy="0" maxx="0"/>
<temporal>
<period>
<start></start>
<end></end>
</period>
</temporal>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="default">
<map-layer-style name="default"/>
</map-layer-style-manager>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
</flags>
<customproperties>
<property key="WMSBackgroundLayer" value="false"/>
<property key="WMSPublishDataSourceUrl" value="false"/>
<property key="embeddedWidgets/count" value="0"/>
<property key="identify/format" value="Html"/>
</customproperties>
<pipe>
<rasterrenderer alphaBand="-1" type="singlebandcolordata" nodataColor="" opacity="1" band="1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast contrast="0" brightness="0"/>
<huesaturation colorizeRed="255" colorizeStrength="100" grayscaleMode="0" colorizeOn="0" colorizeBlue="128" colorizeGreen="128" saturation="0"/>
<rasterresampler maxOversampling="2"/>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_b190df4b_967b_471d_9b9c_3cb1d5e3b416"/>
<layer id="h23v05_h23v04_h23v03_h22v05_h22v04_h22v03_h21v05_h21v04_h21v03_h20v04_h20v03_9603ac31_1df8_4ac6_a749_7b7e66bb658b"/>
</layerorder>
<properties>
<Gui>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<Measure>
<Ellipsoid type="QString">WGS84</Ellipsoid>
</Measure>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
<PAL>
<CandidatesLine type="int">50</CandidatesLine>
<CandidatesLinePerCM type="double">5</CandidatesLinePerCM>
<CandidatesPoint type="int">16</CandidatesPoint>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<CandidatesPolygonPerCM type="double">2.5</CandidatesPolygonPerCM>
<DrawOutlineLabels type="bool">true</DrawOutlineLabels>
<DrawRectOnly type="bool">false</DrawRectOnly>
<DrawUnplaced type="bool">false</DrawUnplaced>
<PlacementEngineVersion type="int">0</PlacementEngineVersion>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<TextFormat type="int">0</TextFormat>
<UnplacedColor type="QString">255,0,0,255</UnplacedColor>
</PAL>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
</properties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<author><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.</author>
<creation>2019-06-10T14:55:55</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
<Bookmarks/>
<ProjectViewSettings UseProjectScales="0">
<Scales/>
</ProjectViewSettings>
<ProjectDisplaySettings>
<BearingFormat id="bearing">
<Option type="Map">
<Option type="QChar" value="" name="decimal_separator"/>
<Option type="int" value="6" name="decimals"/>
<Option type="int" value="0" name="direction_format"/>
<Option type="int" value="0" name="rounding_type"/>
<Option type="bool" value="false" name="show_plus"/>
<Option type="bool" value="true" name="show_thousand_separator"/>
<Option type="bool" value="false" name="show_trailing_zeros"/>
<Option type="QChar" value="" name="thousand_separator"/>
</Option>
</BearingFormat>
</ProjectDisplaySettings>
</qgis>

View File

@ -0,0 +1,726 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis version="3.40.10-Bratislava" saveDateTime="2025-09-14T16:54:26" projectname="" saveUser="ccalm.org" saveUserFull="ccalm.org">
<homePath path=""/>
<title></title>
<transaction mode="Disabled"/>
<projectFlags set=""/>
<projectCrs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</projectCrs>
<verticalCrs>
<spatialrefsys nativeFormat="Wkt">
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</verticalCrs>
<elevation-shading-renderer edl-distance="0.5" hillshading-is-active="0" is-active="0" combined-method="0" hillshading-z-factor="1" light-altitude="45" hillshading-is-multidirectional="0" edl-is-active="1" edl-distance-unit="0" light-azimuth="315" edl-strength="1000"/>
<layer-tree-group>
<customproperties>
<Option/>
</customproperties>
<layer-tree-layer checked="Qt::Checked" legend_exp="" id="_8357e0b1_ef46_4436_ac52_f7a1b071a7a1" name="${date}" source="IgnoreGetMapUrl=1&amp;contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=SMAP:${date}&amp;styles&amp;tilePixelRatio=0&amp;url=http://geoserver2.ccalm.org/wms?viewparams%3Dtime_start:1667260800;time_end%3D1665532800;" providerKey="wms" patch_size="-1,-1" legend_split_behavior="0" expanded="1">
<customproperties>
<Option/>
</customproperties>
</layer-tree-layer>
<layer-tree-layer checked="Qt::Checked" legend_exp="" id="OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d" name="OpenStreetMap" source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" providerKey="wms" patch_size="-1,-1" legend_split_behavior="0" expanded="1">
<customproperties>
<Option/>
</customproperties>
</layer-tree-layer>
<custom-order enabled="0">
<item>OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d</item>
<item>_8357e0b1_ef46_4436_ac52_f7a1b071a7a1</item>
</custom-order>
</layer-tree-group>
<snapping-settings maxScale="0" self-snapping="0" enabled="0" intersection-snapping="0" unit="1" scaleDependencyMode="0" type="1" mode="2" minScale="0" tolerance="12">
<individual-layer-settings/>
</snapping-settings>
<relations/>
<polymorphicRelations/>
<mapcanvas name="theMapCanvas" annotationsVisible="1">
<units>meters</units>
<extent>
<xmin>-21039383.75992870703339577</xmin>
<ymin>-21039383.75992871075868607</ymin>
<xmax>21039383.75992870703339577</xmax>
<ymax>21039383.75992876291275024</ymax>
</extent>
<rotation>0</rotation>
<destinationsrs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<expressionContextScope/>
</mapcanvas>
<projectModels/>
<legend updateDrawingOrder="true">
<legendlayer checked="Qt::Checked" drawingOrder="-1" name="${date}" open="true" showFeatureCount="0">
<filegroup hidden="false" open="true">
<legendlayerfile isInOverview="0" layerid="_8357e0b1_ef46_4436_ac52_f7a1b071a7a1" visible="1"/>
</filegroup>
</legendlayer>
<legendlayer checked="Qt::Checked" drawingOrder="-1" name="OpenStreetMap" open="true" showFeatureCount="0">
<filegroup hidden="false" open="true">
<legendlayerfile isInOverview="0" layerid="OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d" visible="1"/>
</filegroup>
</legendlayer>
</legend>
<mapViewDocks/>
<main-annotation-layer hasScaleBasedVisibilityFlag="0" maxScale="0" refreshOnNotifyEnabled="0" refreshOnNotifyMessage="" type="annotation" autoRefreshMode="Disabled" styleCategories="AllStyleCategories" autoRefreshTime="0" legendPlaceholderImage="" minScale="1e+08">
<id>__________558d9f32_96f4_4271_9cb4_b90b4ebc6580</id>
<datasource></datasource>
<keywordList>
<value></value>
</keywordList>
<layername>Аннотации</layername>
<srs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<dates/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys nativeFormat="Wkt">
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<items/>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
<Private>0</Private>
</flags>
<customproperties>
<Option/>
</customproperties>
<layerOpacity>1</layerOpacity>
<blendMode>0</blendMode>
<paintEffect/>
</main-annotation-layer>
<projectlayers>
<maplayer hasScaleBasedVisibilityFlag="0" maxScale="0" refreshOnNotifyEnabled="0" refreshOnNotifyMessage="" type="raster" autoRefreshMode="Disabled" styleCategories="AllStyleCategories" autoRefreshTime="0" legendPlaceholderImage="" minScale="1e+08">
<extent>
<xmin>-20037508.34278924390673637</xmin>
<ymin>-20037508.34278924763202667</ymin>
<xmax>20037508.34278924390673637</xmax>
<ymax>20037508.34278924763202667</ymax>
</extent>
<wgs84extent>
<xmin>-180</xmin>
<ymin>-85.05112877980660357</ymin>
<xmax>180</xmax>
<ymax>85.05112877980660357</ymax>
</wgs84extent>
<id>OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d</id>
<datasource>crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>OpenStreetMap</layername>
<srs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier>Тайлы OpenStreetMap</identifier>
<parentidentifier></parentidentifier>
<language></language>
<type>dataset</type>
<title>Тайлы OpenStreetMap</title>
<abstract>Проект OpenStreetMap создан картографическим сообществом, создающим и распространяющим данные о дорогах, территориях, границах и многом другом по всему миру.</abstract>
<links>
<link name="Источник" mimeType="" size="" description="" format="" type="WWW:LINK" url="https://www.openstreetmap.org/"/>
</links>
<dates/>
<fees></fees>
<rights>Базовая карта и данные подготовлены сообществом OpenStreetMap (CC-BY-SA). © https://www.openstreetmap.org and contributors.</rights>
<license>Лицензия Open Data Commons Open Database (ODbL)</license>
<license>Creative Commons Attribution-ShareAlike (CC-BY-SA)</license>
<encoding></encoding>
<crs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent>
<spatial miny="-85.05112877980660357" crs="EPSG:4326" dimensions="2" minx="-180" maxz="0" minz="0" maxx="180" maxy="85.05112877980660357"/>
</extent>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="по умолчанию">
<map-layer-style name="по умолчанию"/>
</map-layer-style-manager>
<metadataUrls/>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
<Private>0</Private>
</flags>
<temporal bandNumber="1" enabled="0" mode="0" fetchMode="0">
<fixedRange>
<start></start>
<end></end>
</fixedRange>
</temporal>
<elevation enabled="0" band="1" symbology="Line" zscale="1" mode="RepresentsElevationSurface" zoffset="0">
<data-defined-properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data-defined-properties>
<profileLineSymbol>
<symbol alpha="1" clip_to_extent="1" is_animated="0" frame_rate="10" name="" type="line" force_rhr="0">
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
<layer id="{d5b45c66-5ba4-4ffe-928b-b76180ae5d44}" locked="0" enabled="1" class="SimpleLine" pass="0">
<Option type="Map">
<Option value="0" name="align_dash_pattern" type="QString"/>
<Option value="square" name="capstyle" type="QString"/>
<Option value="5;2" name="customdash" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/>
<Option value="MM" name="customdash_unit" type="QString"/>
<Option value="0" name="dash_pattern_offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/>
<Option value="MM" name="dash_pattern_offset_unit" type="QString"/>
<Option value="0" name="draw_inside_polygon" type="QString"/>
<Option value="bevel" name="joinstyle" type="QString"/>
<Option value="196,60,57,255,rgb:0.7686274509803922,0.23529411764705882,0.22352941176470589,1" name="line_color" type="QString"/>
<Option value="solid" name="line_style" type="QString"/>
<Option value="0.6" name="line_width" type="QString"/>
<Option value="MM" name="line_width_unit" type="QString"/>
<Option value="0" name="offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
<Option value="MM" name="offset_unit" type="QString"/>
<Option value="0" name="ring_filter" type="QString"/>
<Option value="0" name="trim_distance_end" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/>
<Option value="MM" name="trim_distance_end_unit" type="QString"/>
<Option value="0" name="trim_distance_start" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/>
<Option value="MM" name="trim_distance_start_unit" type="QString"/>
<Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/>
<Option value="0" name="use_custom_dash" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/>
</Option>
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</profileLineSymbol>
<profileFillSymbol>
<symbol alpha="1" clip_to_extent="1" is_animated="0" frame_rate="10" name="" type="fill" force_rhr="0">
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
<layer id="{b4e5f16d-cf22-4f7a-a750-417fa434755d}" locked="0" enabled="1" class="SimpleFill" pass="0">
<Option type="Map">
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
<Option value="196,60,57,255,rgb:0.7686274509803922,0.23529411764705882,0.22352941176470589,1" name="color" type="QString"/>
<Option value="bevel" name="joinstyle" type="QString"/>
<Option value="0,0" name="offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
<Option value="MM" name="offset_unit" type="QString"/>
<Option value="35,35,35,255,rgb:0.13725490196078433,0.13725490196078433,0.13725490196078433,1" name="outline_color" type="QString"/>
<Option value="no" name="outline_style" type="QString"/>
<Option value="0.26" name="outline_width" type="QString"/>
<Option value="MM" name="outline_width_unit" type="QString"/>
<Option value="solid" name="style" type="QString"/>
</Option>
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</profileFillSymbol>
</elevation>
<customproperties>
<Option type="Map">
<Option value="Value" name="identify/format" type="QString"/>
<Option value="OpenStreetMap" name="ol_layer_type" type="QString"/>
</Option>
</customproperties>
<mapTip enabled="1"></mapTip>
<pipe-data-defined-properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</pipe-data-defined-properties>
<pipe>
<provider>
<resampling zoomedInResamplingMethod="nearestNeighbour" zoomedOutResamplingMethod="nearestNeighbour" maxOversampling="2" enabled="false"/>
</provider>
<rasterrenderer opacity="1" nodataColor="" type="singlebandcolordata" band="1" alphaBand="-1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" gamma="1" contrast="0"/>
<huesaturation colorizeOn="0" colorizeGreen="128" colorizeStrength="100" colorizeRed="255" saturation="0" colorizeBlue="128" grayscaleMode="0" invertColors="0"/>
<rasterresampler maxOversampling="2"/>
<resamplingStage>resamplingFilter</resamplingStage>
</pipe>
<blendMode>0</blendMode>
</maplayer>
<maplayer hasScaleBasedVisibilityFlag="0" maxScale="0" refreshOnNotifyEnabled="0" refreshOnNotifyMessage="" type="raster" autoRefreshMode="Disabled" styleCategories="AllStyleCategories" autoRefreshTime="0" legendPlaceholderImage="" minScale="1e+08">
<extent>
<xmin>-20037508.33720675110816956</xmin>
<ymin>-19983484.6311938650906086</ymin>
<xmax>20037055.05812187492847443</xmax>
<ymax>20028962.62836629152297974</ymax>
</extent>
<wgs84extent>
<xmin>-179.99999994985159901</xmin>
<ymin>-85.00908611398735104</ymin>
<xmax>179.99592807455246657</xmax>
<ymax>85.04450187956545903</ymax>
</wgs84extent>
<id>_8357e0b1_ef46_4436_ac52_f7a1b071a7a1</id>
<datasource>IgnoreGetMapUrl=1&amp;contextualWMSLegend=0&amp;crs=EPSG:3857&amp;dpiMode=7&amp;featureCount=10&amp;format=image/png&amp;layers=SMAP:${date}&amp;styles&amp;tilePixelRatio=0&amp;url=http://geoserver2.ccalm.org/wms?viewparams%3Dtime_start:1667260800;time_end%3D1665532800;</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>${date}</layername>
<srs>
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<resourceMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<dates/>
<fees></fees>
<encoding></encoding>
<crs>
<spatialrefsys nativeFormat="Wkt">
<wkt></wkt>
<proj4></proj4>
<srsid>0</srsid>
<srid>0</srid>
<authid></authid>
<description></description>
<projectionacronym></projectionacronym>
<ellipsoidacronym></ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</crs>
<extent/>
</resourceMetadata>
<provider>wms</provider>
<noData>
<noDataList bandNo="1" useSrcNoData="0"/>
</noData>
<map-layer-style-manager current="по умолчанию">
<map-layer-style name="по умолчанию"/>
</map-layer-style-manager>
<metadataUrls/>
<flags>
<Identifiable>1</Identifiable>
<Removable>1</Removable>
<Searchable>1</Searchable>
<Private>0</Private>
</flags>
<temporal bandNumber="1" enabled="0" mode="0" fetchMode="0">
<fixedRange>
<start></start>
<end></end>
</fixedRange>
</temporal>
<elevation enabled="0" band="1" symbology="Line" zscale="1" mode="RepresentsElevationSurface" zoffset="0">
<data-defined-properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data-defined-properties>
<profileLineSymbol>
<symbol alpha="1" clip_to_extent="1" is_animated="0" frame_rate="10" name="" type="line" force_rhr="0">
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
<layer id="{1dfb735b-fea3-4003-9474-23a8751d6963}" locked="0" enabled="1" class="SimpleLine" pass="0">
<Option type="Map">
<Option value="0" name="align_dash_pattern" type="QString"/>
<Option value="square" name="capstyle" type="QString"/>
<Option value="5;2" name="customdash" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/>
<Option value="MM" name="customdash_unit" type="QString"/>
<Option value="0" name="dash_pattern_offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/>
<Option value="MM" name="dash_pattern_offset_unit" type="QString"/>
<Option value="0" name="draw_inside_polygon" type="QString"/>
<Option value="bevel" name="joinstyle" type="QString"/>
<Option value="145,82,45,255,rgb:0.56862745098039214,0.32156862745098042,0.17647058823529413,1" name="line_color" type="QString"/>
<Option value="solid" name="line_style" type="QString"/>
<Option value="0.6" name="line_width" type="QString"/>
<Option value="MM" name="line_width_unit" type="QString"/>
<Option value="0" name="offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
<Option value="MM" name="offset_unit" type="QString"/>
<Option value="0" name="ring_filter" type="QString"/>
<Option value="0" name="trim_distance_end" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/>
<Option value="MM" name="trim_distance_end_unit" type="QString"/>
<Option value="0" name="trim_distance_start" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/>
<Option value="MM" name="trim_distance_start_unit" type="QString"/>
<Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/>
<Option value="0" name="use_custom_dash" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/>
</Option>
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</profileLineSymbol>
<profileFillSymbol>
<symbol alpha="1" clip_to_extent="1" is_animated="0" frame_rate="10" name="" type="fill" force_rhr="0">
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
<layer id="{78080609-56f0-4394-b59b-96a6fe98a63f}" locked="0" enabled="1" class="SimpleFill" pass="0">
<Option type="Map">
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
<Option value="145,82,45,255,rgb:0.56862745098039214,0.32156862745098042,0.17647058823529413,1" name="color" type="QString"/>
<Option value="bevel" name="joinstyle" type="QString"/>
<Option value="0,0" name="offset" type="QString"/>
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
<Option value="MM" name="offset_unit" type="QString"/>
<Option value="35,35,35,255,rgb:0.13725490196078433,0.13725490196078433,0.13725490196078433,1" name="outline_color" type="QString"/>
<Option value="no" name="outline_style" type="QString"/>
<Option value="0.26" name="outline_width" type="QString"/>
<Option value="MM" name="outline_width_unit" type="QString"/>
<Option value="solid" name="style" type="QString"/>
</Option>
<data_defined_properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</profileFillSymbol>
</elevation>
<customproperties>
<Option type="Map">
<Option value="Html" name="identify/format" type="QString"/>
</Option>
</customproperties>
<mapTip enabled="1"></mapTip>
<pipe-data-defined-properties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</pipe-data-defined-properties>
<pipe>
<provider>
<resampling zoomedInResamplingMethod="nearestNeighbour" zoomedOutResamplingMethod="nearestNeighbour" maxOversampling="2" enabled="false"/>
</provider>
<rasterrenderer opacity="1" nodataColor="" type="singlebandcolordata" band="1" alphaBand="-1">
<rasterTransparency/>
<minMaxOrigin>
<limits>None</limits>
<extent>WholeRaster</extent>
<statAccuracy>Estimated</statAccuracy>
<cumulativeCutLower>0.02</cumulativeCutLower>
<cumulativeCutUpper>0.98</cumulativeCutUpper>
<stdDevFactor>2</stdDevFactor>
</minMaxOrigin>
</rasterrenderer>
<brightnesscontrast brightness="0" gamma="1" contrast="0"/>
<huesaturation colorizeOn="0" colorizeGreen="128" colorizeStrength="100" colorizeRed="255" saturation="0" colorizeBlue="128" grayscaleMode="0" invertColors="0"/>
<rasterresampler maxOversampling="2"/>
<resamplingStage>resamplingFilter</resamplingStage>
</pipe>
<blendMode>0</blendMode>
</maplayer>
</projectlayers>
<layerorder>
<layer id="OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d"/>
<layer id="_8357e0b1_ef46_4436_ac52_f7a1b071a7a1"/>
</layerorder>
<labelEngineSettings/>
<properties>
<Digitizing>
<AvoidIntersectionsMode type="int">0</AvoidIntersectionsMode>
</Digitizing>
<Gui>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
</Gui>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
<Measure>
<Ellipsoid type="QString">EPSG:7030</Ellipsoid>
</Measure>
<Measurement>
<AreaUnits type="QString">m2</AreaUnits>
<DistanceUnits type="QString">meters</DistanceUnits>
</Measurement>
<PAL>
<CandidatesLinePerCM type="double">5</CandidatesLinePerCM>
<CandidatesPolygonPerCM type="double">2.5</CandidatesPolygonPerCM>
<DrawLabelMetrics type="bool">false</DrawLabelMetrics>
<DrawRectOnly type="bool">false</DrawRectOnly>
<DrawUnplaced type="bool">false</DrawUnplaced>
<PlacementEngineVersion type="int">1</PlacementEngineVersion>
<SearchMethod type="int">0</SearchMethod>
<ShowingAllLabels type="bool">false</ShowingAllLabels>
<ShowingCandidates type="bool">false</ShowingCandidates>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<TextFormat type="int">0</TextFormat>
<UnplacedColor type="QString">255,0,0,255,rgb:1,0,0,1</UnplacedColor>
</PAL>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<PositionPrecision>
<Automatic type="bool">true</Automatic>
<DecimalPlaces type="int">2</DecimalPlaces>
</PositionPrecision>
<SpatialRefSys>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
</properties>
<dataDefinedServerProperties>
<Option type="Map">
<Option value="" name="name" type="QString"/>
<Option name="properties"/>
<Option value="collection" name="type" type="QString"/>
</Option>
</dataDefinedServerProperties>
<visibility-presets/>
<transformContext/>
<projectMetadata>
<identifier></identifier>
<parentidentifier></parentidentifier>
<language></language>
<type></type>
<title></title>
<abstract></abstract>
<links/>
<dates>
<date value="2023-09-08T15:00:38" type="Created"/>
</dates>
<author>Igor Ivanov</author>
<creation>2023-09-08T15:00:38</creation>
</projectMetadata>
<Annotations/>
<Layouts/>
<mapViewDocks3D/>
<Bookmarks/>
<Sensors/>
<ProjectViewSettings UseProjectScales="0" rotation="0">
<Scales/>
<DefaultViewExtent xmin="-33704768.02996301651000977" ymin="-21039383.75992871075868607" xmax="33704768.02996301651000977" ymax="21039383.75992876291275024">
<spatialrefsys nativeFormat="Wkt">
<wkt>PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]]</wkt>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo-Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</DefaultViewExtent>
</ProjectViewSettings>
<ProjectStyleSettings iccProfileId="attachment:///" RandomizeDefaultSymbolColor="1" DefaultSymbolOpacity="1" colorModel="Rgb" projectStyleId="attachment:///TNjckE_styles.db">
<databases/>
</ProjectStyleSettings>
<ProjectTimeSettings timeStepUnit="h" cumulativeTemporalRange="0" timeStep="1" totalMovieFrames="100" frameRate="1"/>
<ElevationProperties FilterInvertSlider="0">
<terrainProvider type="flat">
<TerrainProvider scale="1" offset="0"/>
</terrainProvider>
</ElevationProperties>
<ProjectDisplaySettings CoordinateType="MapCrs" CoordinateAxisOrder="Default">
<BearingFormat id="bearing">
<Option type="Map">
<Option name="decimal_separator" type="invalid"/>
<Option value="6" name="decimals" type="int"/>
<Option value="0" name="direction_format" type="int"/>
<Option value="0" name="rounding_type" type="int"/>
<Option value="false" name="show_plus" type="bool"/>
<Option value="true" name="show_thousand_separator" type="bool"/>
<Option value="false" name="show_trailing_zeros" type="bool"/>
<Option name="thousand_separator" type="invalid"/>
</Option>
</BearingFormat>
<GeographicCoordinateFormat id="geographiccoordinate">
<Option type="Map">
<Option value="DecimalDegrees" name="angle_format" type="QString"/>
<Option name="decimal_separator" type="invalid"/>
<Option value="6" name="decimals" type="int"/>
<Option value="0" name="rounding_type" type="int"/>
<Option value="false" name="show_leading_degree_zeros" type="bool"/>
<Option value="false" name="show_leading_zeros" type="bool"/>
<Option value="false" name="show_plus" type="bool"/>
<Option value="false" name="show_suffix" type="bool"/>
<Option value="true" name="show_thousand_separator" type="bool"/>
<Option value="false" name="show_trailing_zeros" type="bool"/>
<Option name="thousand_separator" type="invalid"/>
</Option>
</GeographicCoordinateFormat>
<CoordinateCustomCrs>
<spatialrefsys nativeFormat="Wkt">
<wkt>GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]]</wkt>
<proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
<srsid>3452</srsid>
<srid>4326</srid>
<authid>EPSG:4326</authid>
<description>WGS 84</description>
<projectionacronym>longlat</projectionacronym>
<ellipsoidacronym>EPSG:7030</ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</CoordinateCustomCrs>
</ProjectDisplaySettings>
<ProjectGpsSettings autoAddTrackVertices="0" autoCommitFeatures="0" destinationFollowsActiveLayer="1" destinationLayer="">
<timeStampFields/>
</ProjectGpsSettings>
</qgis>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,509 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" version="2.18.6">
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<layer-tree-group expanded="1" checked="Qt::PartiallyChecked" name="">
<customproperties/>
<layer-tree-layer expanded="1" providerKey="postgres" checked="Qt::Checked" id="view_frmlocustinfo_p2r_${year}20170221133600806" source="dbname='CCALM' host=ccalm.org port=5432 user='guest' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table=&quot;public&quot;.&quot;view_frmlocustinfo_p2r_${year}&quot; (geom) sql=${sql}" name="trt('Maps_of_areas_infested_above_Economic_Threshold_(ET)')">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer expanded="1" providerKey="" checked="Qt::Unchecked" id="OpenLayers_plugin_layer20170821155911549" source="" name="Bing Aerial with labels">
<customproperties/>
</layer-tree-layer>
</layer-tree-group>
<relations/>
<mapcanvas>
<units>meters</units>
<extent>
<xmin>4606484.6726676719263196</xmin>
<ymin>3728012.39886604063212872</ymin>
<xmax>9866330.61264913156628609</xmax>
<ymax>8074944.57324538938701153</ymax>
</extent>
<rotation>0</rotation>
<projections>1</projections>
<destinationsrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<layer_coordinate_transform_info>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="view_frmlocustinfo_p2r_${year}20170221133600806"/>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:3857" srcDatumTransform="-1" destDatumTransform="-1" layerid="OpenLayers_plugin_layer20170821155911549"/>
</layer_coordinate_transform_info>
</mapcanvas>
<layer-tree-canvas>
<custom-order enabled="0">
<item>view_frmlocustinfo_p2r_${year}20170221133600806</item>
<item>OpenStreetMap20170221155223210</item>
</custom-order>
</layer-tree-canvas>
<legend updateDrawingOrder="true">
<legendlayer drawingOrder="-1" open="true" checked="Qt::Checked" name="trt('Maps_of_areas_infested_above_Economic_Threshold_(ET)')" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="view_frmlocustinfo_p2r_${year}20170221133600806" visible="1"/>
</filegroup>
</legendlayer>
<legendlayer drawingOrder="-1" open="true" checked="Qt::Unchecked" name="Bing Aerial with labels" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="OpenLayers_plugin_layer20170821155911549" visible="0"/>
</filegroup>
</legendlayer>
</legend>
<projectlayers>
<maplayer simplifyAlgorithm="0" minimumScale="0" maximumScale="1e+08" simplifyDrawingHints="1" minLabelScale="0" maxLabelScale="1e+08" simplifyDrawingTol="1" readOnly="0" geometry="Polygon" simplifyMaxScale="1" type="vector" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
<extent>
<xmin>-180</xmin>
<ymin>38.39295510000000178</ymin>
<xmax>180</xmax>
<ymax>82.05862320000009902</ymax>
</extent>
<id>view_frmlocustinfo_p2r_${year}20170221133600806</id>
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='B2C0D5C60590' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p2r_${year}" (geom) sql=${sql}</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>trt('Maps_of_areas_infested_above_Economic_Threshold_(ET)')</layername>
<srs>
<spatialrefsys>
<proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
<srsid>3452</srsid>
<srid>4326</srid>
<authid>EPSG:4326</authid>
<description>WGS 84</description>
<projectionacronym>longlat</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</srs>
<provider encoding="System">postgres</provider>
<vectorjoins/>
<layerDependencies/>
<expressionfields/>
<map-layer-style-manager current="">
<map-layer-style name=""/>
</map-layer-style-manager>
<edittypes>
<edittype widgetv2type="TextEdit" name="country_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="region_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="locust_type_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="name">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="percent">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
</edittypes>
<renderer-v2 forceraster="0" symbollevels="0" type="RuleRenderer" enableorderby="0">
<rules key="{d1a60575-15b9-4869-b52b-df5b4d4f16de}">
<rule filter=" &quot;percent&quot; > 15" key="{659cc803-83ee-4573-a115-4a5c3cfc7629}" symbol="0" label=">15% trt('Increase')"/>
<rule filter=" &quot;percent&quot; &lt; 15 AND &quot;percent&quot; > -15" key="{9ceb56b1-6469-4f8a-9527-51a1d2151967}" symbol="2" label=">=15% trt('and') &lt;=15% trt('On_the_same_level')"/>
<rule filter=" &quot;percent&quot; &lt; -15" key="{b6d444f7-e753-4650-a049-92c6e40dd0bc}" symbol="1" label="&lt;15% trt('Decrease')"/>
<rule filter=" &quot;percent&quot; is null" key="{c017f2c4-f56f-48a8-bbc4-987fa0f239a9}" symbol="3" label="trt('No_data')"/>
</rules>
<symbols>
<symbol alpha="1" clip_to_extent="1" type="fill" name="0">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="255,0,0,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="2">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="255,238,0,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="1">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="0,255,76,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="3">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="150,150,150,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
</symbols>
</renderer-v2>
<labeling type="simple"/>
<customproperties>
<property key="embeddedWidgets/count" value="0"/>
<property key="labeling" value="pal"/>
<property key="labeling/addDirectionSymbol" value="false"/>
<property key="labeling/angleOffset" value="0"/>
<property key="labeling/blendMode" value="0"/>
<property key="labeling/bufferBlendMode" value="0"/>
<property key="labeling/bufferColorA" value="255"/>
<property key="labeling/bufferColorB" value="255"/>
<property key="labeling/bufferColorG" value="255"/>
<property key="labeling/bufferColorR" value="255"/>
<property key="labeling/bufferDraw" value="true"/>
<property key="labeling/bufferJoinStyle" value="128"/>
<property key="labeling/bufferNoFill" value="false"/>
<property key="labeling/bufferSize" value="1"/>
<property key="labeling/bufferSizeInMapUnits" value="false"/>
<property key="labeling/bufferSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/bufferTransp" value="0"/>
<property key="labeling/centroidInside" value="true"/>
<property key="labeling/centroidWhole" value="false"/>
<property key="labeling/dataDefined/CentroidWhole" value="0~~0~~~~name"/>
<property key="labeling/dataDefined/ScaleVisibility" value="0~~0~~~~name"/>
<property key="labeling/decimals" value="3"/>
<property key="labeling/displayAll" value="true"/>
<property key="labeling/dist" value="0"/>
<property key="labeling/distInMapUnits" value="true"/>
<property key="labeling/distMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/drawLabels" value="true"/>
<property key="labeling/enabled" value="true"/>
<property key="labeling/fieldName" value="&quot;name&quot;||'\n'|| &quot;percent&quot;||'%' "/>
<property key="labeling/fitInPolygonOnly" value="true"/>
<property key="labeling/fontCapitals" value="4"/>
<property key="labeling/fontFamily" value="Arial"/>
<property key="labeling/fontItalic" value="false"/>
<property key="labeling/fontLetterSpacing" value="0"/>
<property key="labeling/fontLimitPixelSize" value="false"/>
<property key="labeling/fontMaxPixelSize" value="10000"/>
<property key="labeling/fontMinPixelSize" value="3"/>
<property key="labeling/fontSize" value="7"/>
<property key="labeling/fontSizeInMapUnits" value="false"/>
<property key="labeling/fontSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/fontStrikeout" value="false"/>
<property key="labeling/fontUnderline" value="false"/>
<property key="labeling/fontWeight" value="75"/>
<property key="labeling/fontWordSpacing" value="0"/>
<property key="labeling/formatNumbers" value="false"/>
<property key="labeling/isExpression" value="true"/>
<property key="labeling/labelOffsetInMapUnits" value="false"/>
<property key="labeling/labelOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/labelPerPart" value="false"/>
<property key="labeling/leftDirectionSymbol" value="&lt;"/>
<property key="labeling/limitNumLabels" value="false"/>
<property key="labeling/maxCurvedCharAngleIn" value="25"/>
<property key="labeling/maxCurvedCharAngleOut" value="-25"/>
<property key="labeling/maxNumLabels" value="2000"/>
<property key="labeling/mergeLines" value="false"/>
<property key="labeling/minFeatureSize" value="3"/>
<property key="labeling/multilineAlign" value="4294967295"/>
<property key="labeling/multilineHeight" value="1"/>
<property key="labeling/namedStyle" value="Bold"/>
<property key="labeling/obstacle" value="false"/>
<property key="labeling/obstacleFactor" value="0"/>
<property key="labeling/obstacleType" value="0"/>
<property key="labeling/offsetType" value="0"/>
<property key="labeling/placeDirectionSymbol" value="0"/>
<property key="labeling/placement" value="1"/>
<property key="labeling/placementFlags" value="7"/>
<property key="labeling/plussign" value="false"/>
<property key="labeling/predefinedPositionOrder" value="TR,TL,BR,BL,R,L,TSR,BSR"/>
<property key="labeling/preserveRotation" value="true"/>
<property key="labeling/previewBkgrdColor" value="#ffffff"/>
<property key="labeling/priority" value="5"/>
<property key="labeling/quadOffset" value="1"/>
<property key="labeling/repeatDistance" value="0"/>
<property key="labeling/repeatDistanceMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/repeatDistanceUnit" value="1"/>
<property key="labeling/reverseDirectionSymbol" value="false"/>
<property key="labeling/rightDirectionSymbol" value=">"/>
<property key="labeling/scaleMax" value="35000000"/>
<property key="labeling/scaleMin" value="1"/>
<property key="labeling/scaleVisibility" value="true"/>
<property key="labeling/shadowBlendMode" value="6"/>
<property key="labeling/shadowColorB" value="0"/>
<property key="labeling/shadowColorG" value="0"/>
<property key="labeling/shadowColorR" value="0"/>
<property key="labeling/shadowDraw" value="false"/>
<property key="labeling/shadowOffsetAngle" value="135"/>
<property key="labeling/shadowOffsetDist" value="1"/>
<property key="labeling/shadowOffsetGlobal" value="true"/>
<property key="labeling/shadowOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowOffsetUnits" value="1"/>
<property key="labeling/shadowRadius" value="1.5"/>
<property key="labeling/shadowRadiusAlphaOnly" value="false"/>
<property key="labeling/shadowRadiusMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowRadiusUnits" value="1"/>
<property key="labeling/shadowScale" value="100"/>
<property key="labeling/shadowTransparency" value="30"/>
<property key="labeling/shadowUnder" value="0"/>
<property key="labeling/shapeBlendMode" value="0"/>
<property key="labeling/shapeBorderColorA" value="255"/>
<property key="labeling/shapeBorderColorB" value="128"/>
<property key="labeling/shapeBorderColorG" value="128"/>
<property key="labeling/shapeBorderColorR" value="128"/>
<property key="labeling/shapeBorderWidth" value="0"/>
<property key="labeling/shapeBorderWidthMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeBorderWidthUnits" value="1"/>
<property key="labeling/shapeDraw" value="false"/>
<property key="labeling/shapeFillColorA" value="255"/>
<property key="labeling/shapeFillColorB" value="255"/>
<property key="labeling/shapeFillColorG" value="255"/>
<property key="labeling/shapeFillColorR" value="255"/>
<property key="labeling/shapeJoinStyle" value="64"/>
<property key="labeling/shapeOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeOffsetUnits" value="1"/>
<property key="labeling/shapeOffsetX" value="0"/>
<property key="labeling/shapeOffsetY" value="0"/>
<property key="labeling/shapeRadiiMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeRadiiUnits" value="1"/>
<property key="labeling/shapeRadiiX" value="0"/>
<property key="labeling/shapeRadiiY" value="0"/>
<property key="labeling/shapeRotation" value="0"/>
<property key="labeling/shapeRotationType" value="0"/>
<property key="labeling/shapeSVGFile" value=""/>
<property key="labeling/shapeSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeSizeType" value="0"/>
<property key="labeling/shapeSizeUnits" value="1"/>
<property key="labeling/shapeSizeX" value="0"/>
<property key="labeling/shapeSizeY" value="0"/>
<property key="labeling/shapeTransparency" value="0"/>
<property key="labeling/shapeType" value="0"/>
<property key="labeling/substitutions" value="&lt;substitutions/>"/>
<property key="labeling/textColorA" value="255"/>
<property key="labeling/textColorB" value="0"/>
<property key="labeling/textColorG" value="0"/>
<property key="labeling/textColorR" value="0"/>
<property key="labeling/textTransp" value="0"/>
<property key="labeling/upsidedownLabels" value="2"/>
<property key="labeling/useSubstitutions" value="false"/>
<property key="labeling/wrapChar" value=""/>
<property key="labeling/xOffset" value="0"/>
<property key="labeling/yOffset" value="0"/>
<property key="labeling/zIndex" value="1"/>
<property key="variableNames"/>
<property key="variableValues"/>
</customproperties>
<blendMode>0</blendMode>
<featureBlendMode>0</featureBlendMode>
<layerTransparency>0</layerTransparency>
<displayfield>name</displayfield>
<label>0</label>
<labelattributes>
<label fieldname="" text="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"/>
<family fieldname="" name="MS Shell Dlg 2"/>
<size fieldname="" units="pt" value="12"/>
<bold fieldname="" on="0"/>
<italic fieldname="" on="0"/>
<underline fieldname="" on="0"/>
<strikeout fieldname="" on="0"/>
<color fieldname="" red="0" blue="0" green="0"/>
<x fieldname=""/>
<y fieldname=""/>
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
<angle fieldname="" value="0" auto="0"/>
<alignment fieldname="" value="center"/>
<buffercolor fieldname="" red="255" blue="255" green="255"/>
<buffersize fieldname="" units="pt" value="1"/>
<bufferenabled fieldname="" on=""/>
<multilineenabled fieldname="" on=""/>
<selectedonly on=""/>
</labelattributes>
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="inf">
<fontProperties description="MS Shell Dlg 2,7.8,-1,5,50,0,0,0,0,0" style=""/>
<attribute field="" color="#000000" label=""/>
</DiagramCategory>
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
<layer pass="0" class="SimpleMarker" locked="0">
<prop k="angle" v="0"/>
<prop k="color" v="255,0,0,255"/>
<prop k="horizontal_anchor_point" v="1"/>
<prop k="joinstyle" v="bevel"/>
<prop k="name" v="circle"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0"/>
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="scale_method" v="diameter"/>
<prop k="size" v="2"/>
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="size_unit" v="MM"/>
<prop k="vertical_anchor_point" v="1"/>
</layer>
</symbol>
</SingleCategoryDiagramRenderer>
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
<annotationform>.</annotationform>
<aliases>
<alias field="country_id" index="0" name=""/>
<alias field="region_id" index="1" name=""/>
<alias field="locust_type_id" index="2" name=""/>
<alias field="name" index="3" name=""/>
<alias field="percent" index="4" name=""/>
</aliases>
<excludeAttributesWMS/>
<excludeAttributesWFS/>
<attributeactions default="-1"/>
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="762605167">
<columns>
<column width="-1" hidden="0" type="field" name="country_id"/>
<column width="-1" hidden="0" type="field" name="region_id"/>
<column width="-1" hidden="0" type="field" name="locust_type_id"/>
<column width="-1" hidden="0" type="field" name="name"/>
<column width="-1" hidden="0" type="field" name="percent"/>
<column width="-1" hidden="1" type="actions"/>
</columns>
</attributetableconfig>
<editform>.</editform>
<editforminit/>
<editforminitcodesource>0</editforminitcodesource>
<editforminitfilepath>.</editforminitfilepath>
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
"""
QGIS forms can have a Python function that is called when the form is
opened.
Use this function to add extra logic to your forms.
Enter the name of the function in the "Python Init function"
field.
An example follows:
"""
from qgis.PyQt.QtWidgets import QWidget
def my_form_open(dialog, layer, feature):
geom = feature.geometry()
control = dialog.findChild(QWidget, "MyLineEdit")
]]></editforminitcode>
<featformsuppress>0</featformsuppress>
<editorlayout>generatedlayout</editorlayout>
<widgets/>
<conditionalstyles>
<rowstyles/>
<fieldstyles/>
</conditionalstyles>
<defaults>
<default field="country_id" expression=""/>
<default field="region_id" expression=""/>
<default field="locust_type_id" expression=""/>
<default field="name" expression=""/>
<default field="percent" expression=""/>
</defaults>
<previewExpression></previewExpression>
</maplayer>
</projectlayers>
<properties>
<Measurement>
<DistanceUnits type="QString">meters</DistanceUnits>
<AreaUnits type="QString">m2</AreaUnits>
</Measurement>
<SpatialRefSys>
<ProjectCRSProj4String type="QString">+proj=longlat +datum=WGS84 +no_defs</ProjectCRSProj4String>
<ProjectCrs type="QString">EPSG:4326</ProjectCrs>
<ProjectCRSID type="int">3452</ProjectCRSID>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
<PAL>
<SearchMethod type="int">0</SearchMethod>
<ShowingShadowRects type="bool">false</ShowingShadowRects>
<CandidatesPolygon type="int">30</CandidatesPolygon>
<ShowingCandidates type="bool">false</ShowingCandidates>
<DrawRectOnly type="bool">false</DrawRectOnly>
<ShowingPartialsLabels type="bool">true</ShowingPartialsLabels>
<CandidatesLine type="int">50</CandidatesLine>
<CandidatesPoint type="int">16</CandidatesPoint>
<ShowingAllLabels type="bool">true</ShowingAllLabels>
<DrawOutlineLabels type="bool">false</DrawOutlineLabels>
</PAL>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<Gui>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
</Gui>
<Digitizing>
<DefaultSnapToleranceUnit type="int">2</DefaultSnapToleranceUnit>
<LayerSnappingList type="QStringList">
<value>view_frmlocustinfo_p2r_${year}20170221133600806</value>
</LayerSnappingList>
<LayerSnappingEnabledList type="QStringList">
<value>disabled</value>
</LayerSnappingEnabledList>
<SnappingMode type="QString">current_layer</SnappingMode>
<AvoidIntersectionsList type="QStringList"/>
<LayerSnappingToleranceUnitList type="QStringList">
<value>2</value>
</LayerSnappingToleranceUnitList>
<LayerSnapToList type="QStringList">
<value>to_vertex_and_segment</value>
</LayerSnapToList>
<DefaultSnapType type="QString">off</DefaultSnapType>
<DefaultSnapTolerance type="double">0</DefaultSnapTolerance>
<LayerSnappingToleranceList type="QStringList">
<value>0.000000</value>
</LayerSnappingToleranceList>
</Digitizing>
<PositionPrecision>
<DecimalPlaces type="int">2</DecimalPlaces>
<Automatic type="bool">true</Automatic>
</PositionPrecision>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
</properties>
<visibility-presets/>
</qgis>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,508 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" version="2.18.3">
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<layer-tree-group expanded="1" checked="Qt::PartiallyChecked" name="">
<customproperties/>
<layer-tree-layer expanded="1" checked="Qt::Checked" id="view_frmlocustinfo_p3r_201520170221141235646" name="trt('Maps_of_treated_areas_above_ET')">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer expanded="1" providerKey="" checked="Qt::Unchecked" id="OpenLayers_plugin_layer20170821155911549" source="" name="Bing Aerial with labels">
<customproperties/>
</layer-tree-layer>
</layer-tree-group>
<relations/>
<mapcanvas>
<units>meters</units>
<extent>
<xmin>4606484.6726676719263196</xmin>
<ymin>3728012.39886604063212872</ymin>
<xmax>9866330.61264913156628609</xmax>
<ymax>8074944.57324538938701153</ymax>
</extent>
<rotation>0</rotation>
<projections>1</projections>
<destinationsrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<layer_coordinate_transform_info>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="view_frmlocustinfo_p3r_201520170221141235646"/>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:3857" srcDatumTransform="-1" destDatumTransform="-1" layerid="OpenLayers_plugin_layer20170821155911549"/>
</layer_coordinate_transform_info>
</mapcanvas>
<layer-tree-canvas>
<custom-order enabled="0">
<item>view_frmlocustinfo_p3r_201520170221141235646</item>
<item>OpenStreetMap20170221162957823</item>
</custom-order>
</layer-tree-canvas>
<legend updateDrawingOrder="true">
<legendlayer drawingOrder="-1" open="true" checked="Qt::Checked" name="trt('Maps_of_treated_areas_above_ET')" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="view_frmlocustinfo_p3r_201520170221141235646" visible="1"/>
</filegroup>
</legendlayer>
<legendlayer drawingOrder="-1" open="true" checked="Qt::Unchecked" name="Bing Aerial with labels" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="OpenLayers_plugin_layer20170821155911549" visible="0"/>
</filegroup>
</legendlayer>
</legend>
<projectlayers>
<maplayer minimumScale="0" maximumScale="1e+08" type="plugin" hasScaleBasedVisibilityFlag="0" name="openlayers">
<extent>
<xmin>-20037508.33999999985098839</xmin>
<ymin>-20037508.33999999985098839</ymin>
<xmax>20037508.33999999985098839</xmax>
<ymax>20037508.33999999985098839</ymax>
</extent>
<id>OpenLayers_plugin_layer20170821155911549</id>
<datasource></datasource>
<keywordList>
<value></value>
</keywordList>
<layername>Bing Aerial with labels</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<customproperties>
<property key="ol_layer_type" value="Bing Aerial with labels"/>
</customproperties>
</maplayer>
<maplayer simplifyAlgorithm="0" minimumScale="0" maximumScale="1e+08" simplifyDrawingHints="1" readOnly="0" minLabelScale="0" maxLabelScale="1e+08" simplifyDrawingTol="1" geometry="Polygon" simplifyMaxScale="1" type="vector" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
<extent>
<xmin>-180</xmin>
<ymin>38.39295510000000178</ymin>
<xmax>180</xmax>
<ymax>82.05862320000009902</ymax>
</extent>
<id>view_frmlocustinfo_p3r_201520170221141235646</id>
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='B2C0D5C60590' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p3r_${year}" (geom) sql=${sql}</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>trt('Maps_of_treated_areas_above_ET')</layername>
<srs>
<spatialrefsys>
<proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
<srsid>3452</srsid>
<srid>4326</srid>
<authid>EPSG:4326</authid>
<description>WGS 84</description>
<projectionacronym>longlat</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</srs>
<provider encoding="System">postgres</provider>
<previewExpression>COALESCE( "name", '&lt;NULL>' )</previewExpression>
<vectorjoins/>
<layerDependencies/>
<expressionfields/>
<defaults>
<default field="country_id" expression=""/>
<default field="region_id" expression=""/>
<default field="locust_type_id" expression=""/>
<default field="name" expression=""/>
<default field="percent" expression=""/>
</defaults>
<map-layer-style-manager current="">
<map-layer-style name=""/>
</map-layer-style-manager>
<edittypes>
<edittype widgetv2type="TextEdit" name="country_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="region_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="locust_type_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="name">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="percent">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
</edittypes>
<renderer-v2 forceraster="0" symbollevels="0" type="RuleRenderer" enableorderby="0">
<rules key="{4228a59e-abca-4465-b39b-83a899e32c5b}">
<rule filter=" &quot;percent&quot; > 15" key="{fad70a76-868e-45d5-a7d0-88e1b6b670c6}" symbol="0" label=">15% trt('Increase')"/>
<rule filter=" &quot;percent&quot; &lt; 15 AND &quot;percent&quot; > -15" key="{52cc3773-b4d3-4790-aaf0-eee5e70f5cad}" symbol="2" label=">=15% trt('and') &lt;=15% trt('On_the_same_level')"/>
<rule filter=" &quot;percent&quot; &lt; -15" key="{f9d3135a-22bc-481f-96a9-ea2743e1bb3c}" symbol="1" label="&lt;15% trt('Decrease')"/>
<rule filter=" &quot;percent&quot; is null" key="{c017f2c4-f56f-48a8-bbc4-987fa0f239a9}" symbol="3" label="trt('No_data')"/>
</rules>
<symbols>
<symbol alpha="0.960784" clip_to_extent="1" type="fill" name="0">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="255,0,0,77"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="2">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="255,238,0,77"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="1">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="0,255,76,77"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="3">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="150,150,150,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
</symbols>
</renderer-v2>
<labeling type="simple"/>
<customproperties>
<property key="embeddedWidgets/count" value="0"/>
<property key="labeling" value="pal"/>
<property key="labeling/addDirectionSymbol" value="false"/>
<property key="labeling/angleOffset" value="0"/>
<property key="labeling/blendMode" value="0"/>
<property key="labeling/bufferBlendMode" value="0"/>
<property key="labeling/bufferColorA" value="255"/>
<property key="labeling/bufferColorB" value="255"/>
<property key="labeling/bufferColorG" value="255"/>
<property key="labeling/bufferColorR" value="255"/>
<property key="labeling/bufferDraw" value="true"/>
<property key="labeling/bufferJoinStyle" value="128"/>
<property key="labeling/bufferNoFill" value="false"/>
<property key="labeling/bufferSize" value="1"/>
<property key="labeling/bufferSizeInMapUnits" value="false"/>
<property key="labeling/bufferSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/bufferTransp" value="0"/>
<property key="labeling/centroidInside" value="true"/>
<property key="labeling/centroidWhole" value="false"/>
<property key="labeling/decimals" value="3"/>
<property key="labeling/displayAll" value="false"/>
<property key="labeling/dist" value="0"/>
<property key="labeling/distInMapUnits" value="false"/>
<property key="labeling/distMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/drawLabels" value="true"/>
<property key="labeling/enabled" value="true"/>
<property key="labeling/fieldName" value=" &quot;name&quot;||'\n'||&quot;percent&quot; || '%'"/>
<property key="labeling/fitInPolygonOnly" value="true"/>
<property key="labeling/fontCapitals" value="0"/>
<property key="labeling/fontFamily" value="Arial"/>
<property key="labeling/fontItalic" value="false"/>
<property key="labeling/fontLetterSpacing" value="0"/>
<property key="labeling/fontLimitPixelSize" value="false"/>
<property key="labeling/fontMaxPixelSize" value="10000"/>
<property key="labeling/fontMinPixelSize" value="3"/>
<property key="labeling/fontSize" value="7"/>
<property key="labeling/fontSizeInMapUnits" value="false"/>
<property key="labeling/fontSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/fontStrikeout" value="false"/>
<property key="labeling/fontUnderline" value="false"/>
<property key="labeling/fontWeight" value="75"/>
<property key="labeling/fontWordSpacing" value="0"/>
<property key="labeling/formatNumbers" value="false"/>
<property key="labeling/isExpression" value="true"/>
<property key="labeling/labelOffsetInMapUnits" value="false"/>
<property key="labeling/labelOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/labelPerPart" value="false"/>
<property key="labeling/leftDirectionSymbol" value="&lt;"/>
<property key="labeling/limitNumLabels" value="false"/>
<property key="labeling/maxCurvedCharAngleIn" value="25"/>
<property key="labeling/maxCurvedCharAngleOut" value="-25"/>
<property key="labeling/maxNumLabels" value="2000"/>
<property key="labeling/mergeLines" value="false"/>
<property key="labeling/minFeatureSize" value="0"/>
<property key="labeling/multilineAlign" value="4294967295"/>
<property key="labeling/multilineHeight" value="1"/>
<property key="labeling/namedStyle" value="Bold"/>
<property key="labeling/obstacle" value="false"/>
<property key="labeling/obstacleFactor" value="1"/>
<property key="labeling/obstacleType" value="0"/>
<property key="labeling/offsetType" value="0"/>
<property key="labeling/placeDirectionSymbol" value="0"/>
<property key="labeling/placement" value="1"/>
<property key="labeling/placementFlags" value="10"/>
<property key="labeling/plussign" value="false"/>
<property key="labeling/predefinedPositionOrder" value="TR,TL,BR,BL,R,L,TSR,BSR"/>
<property key="labeling/preserveRotation" value="false"/>
<property key="labeling/previewBkgrdColor" value="#ffffff"/>
<property key="labeling/priority" value="0"/>
<property key="labeling/quadOffset" value="4"/>
<property key="labeling/repeatDistance" value="0"/>
<property key="labeling/repeatDistanceMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/repeatDistanceUnit" value="1"/>
<property key="labeling/reverseDirectionSymbol" value="false"/>
<property key="labeling/rightDirectionSymbol" value=">"/>
<property key="labeling/scaleMax" value="35000000"/>
<property key="labeling/scaleMin" value="1"/>
<property key="labeling/scaleVisibility" value="true"/>
<property key="labeling/shadowBlendMode" value="6"/>
<property key="labeling/shadowColorB" value="0"/>
<property key="labeling/shadowColorG" value="0"/>
<property key="labeling/shadowColorR" value="0"/>
<property key="labeling/shadowDraw" value="false"/>
<property key="labeling/shadowOffsetAngle" value="135"/>
<property key="labeling/shadowOffsetDist" value="1"/>
<property key="labeling/shadowOffsetGlobal" value="true"/>
<property key="labeling/shadowOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowOffsetUnits" value="1"/>
<property key="labeling/shadowRadius" value="1.5"/>
<property key="labeling/shadowRadiusAlphaOnly" value="false"/>
<property key="labeling/shadowRadiusMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowRadiusUnits" value="1"/>
<property key="labeling/shadowScale" value="100"/>
<property key="labeling/shadowTransparency" value="30"/>
<property key="labeling/shadowUnder" value="0"/>
<property key="labeling/shapeBlendMode" value="0"/>
<property key="labeling/shapeBorderColorA" value="255"/>
<property key="labeling/shapeBorderColorB" value="128"/>
<property key="labeling/shapeBorderColorG" value="128"/>
<property key="labeling/shapeBorderColorR" value="128"/>
<property key="labeling/shapeBorderWidth" value="0"/>
<property key="labeling/shapeBorderWidthMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeBorderWidthUnits" value="1"/>
<property key="labeling/shapeDraw" value="false"/>
<property key="labeling/shapeFillColorA" value="255"/>
<property key="labeling/shapeFillColorB" value="255"/>
<property key="labeling/shapeFillColorG" value="255"/>
<property key="labeling/shapeFillColorR" value="255"/>
<property key="labeling/shapeJoinStyle" value="64"/>
<property key="labeling/shapeOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeOffsetUnits" value="1"/>
<property key="labeling/shapeOffsetX" value="0"/>
<property key="labeling/shapeOffsetY" value="0"/>
<property key="labeling/shapeRadiiMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeRadiiUnits" value="1"/>
<property key="labeling/shapeRadiiX" value="0"/>
<property key="labeling/shapeRadiiY" value="0"/>
<property key="labeling/shapeRotation" value="0"/>
<property key="labeling/shapeRotationType" value="0"/>
<property key="labeling/shapeSVGFile" value=""/>
<property key="labeling/shapeSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeSizeType" value="0"/>
<property key="labeling/shapeSizeUnits" value="1"/>
<property key="labeling/shapeSizeX" value="0"/>
<property key="labeling/shapeSizeY" value="0"/>
<property key="labeling/shapeTransparency" value="0"/>
<property key="labeling/shapeType" value="0"/>
<property key="labeling/substitutions" value="&lt;substitutions/>"/>
<property key="labeling/textColorA" value="255"/>
<property key="labeling/textColorB" value="0"/>
<property key="labeling/textColorG" value="0"/>
<property key="labeling/textColorR" value="0"/>
<property key="labeling/textTransp" value="0"/>
<property key="labeling/upsidedownLabels" value="0"/>
<property key="labeling/useSubstitutions" value="false"/>
<property key="labeling/wrapChar" value=""/>
<property key="labeling/xOffset" value="0.2"/>
<property key="labeling/yOffset" value="0.2"/>
<property key="labeling/zIndex" value="0"/>
<property key="variableNames"/>
<property key="variableValues"/>
</customproperties>
<blendMode>0</blendMode>
<featureBlendMode>0</featureBlendMode>
<layerTransparency>0</layerTransparency>
<displayfield>name</displayfield>
<label>0</label>
<labelattributes>
<label fieldname="" text="Подпись"/>
<family fieldname="" name="MS Shell Dlg 2"/>
<size fieldname="" units="pt" value="12"/>
<bold fieldname="" on="0"/>
<italic fieldname="" on="0"/>
<underline fieldname="" on="0"/>
<strikeout fieldname="" on="0"/>
<color fieldname="" red="0" blue="0" green="0"/>
<x fieldname=""/>
<y fieldname=""/>
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
<angle fieldname="" value="0" auto="0"/>
<alignment fieldname="" value="center"/>
<buffercolor fieldname="" red="255" blue="255" green="255"/>
<buffersize fieldname="" units="pt" value="1"/>
<bufferenabled fieldname="" on=""/>
<multilineenabled fieldname="" on=""/>
<selectedonly on=""/>
</labelattributes>
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="inf">
<fontProperties description="MS Shell Dlg 2,7.8,-1,5,50,0,0,0,0,0" style=""/>
<attribute field="" color="#000000" label=""/>
</DiagramCategory>
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
<layer pass="0" class="SimpleMarker" locked="0">
<prop k="angle" v="0"/>
<prop k="color" v="255,0,0,255"/>
<prop k="horizontal_anchor_point" v="1"/>
<prop k="joinstyle" v="bevel"/>
<prop k="name" v="circle"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0"/>
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="scale_method" v="diameter"/>
<prop k="size" v="2"/>
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="size_unit" v="MM"/>
<prop k="vertical_anchor_point" v="1"/>
</layer>
</symbol>
</SingleCategoryDiagramRenderer>
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
<annotationform>.</annotationform>
<aliases>
<alias field="country_id" index="0" name=""/>
<alias field="region_id" index="1" name=""/>
<alias field="locust_type_id" index="2" name=""/>
<alias field="name" index="3" name=""/>
<alias field="percent" index="4" name=""/>
</aliases>
<excludeAttributesWMS/>
<excludeAttributesWFS/>
<attributeactions default="-1"/>
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="&quot;name&quot;" sortOrder="0">
<columns>
<column width="-1" hidden="0" type="field" name="country_id"/>
<column width="-1" hidden="0" type="field" name="region_id"/>
<column width="-1" hidden="0" type="field" name="locust_type_id"/>
<column width="394" hidden="0" type="field" name="name"/>
<column width="212" hidden="0" type="field" name="percent"/>
<column width="-1" hidden="1" type="actions"/>
</columns>
</attributetableconfig>
<editform>.</editform>
<editforminit/>
<editforminitcodesource>0</editforminitcodesource>
<editforminitfilepath>.</editforminitfilepath>
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
"""
QGIS forms can have a Python function that is called when the form is
opened.
Use this function to add extra logic to your forms.
Enter the name of the function in the "Python Init function"
field.
An example follows:
"""
from qgis.PyQt.QtWidgets import QWidget
def my_form_open(dialog, layer, feature):
geom = feature.geometry()
control = dialog.findChild(QWidget, "MyLineEdit")
]]></editforminitcode>
<featformsuppress>0</featformsuppress>
<editorlayout>generatedlayout</editorlayout>
<widgets/>
<conditionalstyles>
<rowstyles/>
<fieldstyles/>
</conditionalstyles>
</maplayer>
</projectlayers>
<properties>
<Measurement>
<DistanceUnits type="QString">meters</DistanceUnits>
<AreaUnits type="QString">m2</AreaUnits>
</Measurement>
<SpatialRefSys>
<ProjectCRSProj4String type="QString">+proj=longlat +datum=WGS84 +no_defs</ProjectCRSProj4String>
<ProjectCrs type="QString">EPSG:4326</ProjectCrs>
<ProjectCRSID type="int">3452</ProjectCRSID>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<Gui>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
</Gui>
<Digitizing>
<DefaultSnapToleranceUnit type="int">2</DefaultSnapToleranceUnit>
<SnappingMode type="QString">current_layer</SnappingMode>
<DefaultSnapType type="QString">off</DefaultSnapType>
<DefaultSnapTolerance type="double">0</DefaultSnapTolerance>
</Digitizing>
<PositionPrecision>
<DecimalPlaces type="int">2</DecimalPlaces>
<Automatic type="bool">true</Automatic>
</PositionPrecision>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
</properties>
<visibility-presets/>
</qgis>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,509 @@
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis projectname="" version="2.18.3">
<title></title>
<autotransaction active="0"/>
<evaluateDefaultValues active="0"/>
<layer-tree-group expanded="1" checked="Qt::PartiallyChecked" name="">
<customproperties/>
<layer-tree-layer expanded="1" checked="Qt::Checked" id="view_frmlocustinfo_p4r_201520170221164520581" name="trt('Map_of_the_level_of_threat')">
<customproperties/>
</layer-tree-layer>
<layer-tree-layer expanded="1" providerKey="" checked="Qt::Unchecked" id="OpenLayers_plugin_layer20170821155911549" source="" name="Bing Aerial with labels">
<customproperties/>
</layer-tree-layer>
</layer-tree-group>
<relations/>
<mapcanvas>
<units>meters</units>
<extent>
<xmin>4606484.6726676719263196</xmin>
<ymin>3728012.39886604063212872</ymin>
<xmax>9866330.61264913156628609</xmax>
<ymax>8074944.57324538938701153</ymax>
</extent>
<rotation>0</rotation>
<projections>1</projections>
<destinationsrs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</destinationsrs>
<rendermaptile>0</rendermaptile>
<layer_coordinate_transform_info>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="view_frmlocustinfo_p4r_201520170221164520581"/>
<layer_coordinate_transform destAuthId="EPSG:3857" srcAuthId="EPSG:3857" srcDatumTransform="-1" destDatumTransform="-1" layerid="OpenLayers_plugin_layer20170821155911549"/>
</layer_coordinate_transform_info>
</mapcanvas>
<layer-tree-canvas>
<custom-order enabled="0">
<item>view_frmlocustinfo_p4r_201520170221164520581</item>
<item>OpenStreetMap20170221170817493</item>
</custom-order>
</layer-tree-canvas>
<legend updateDrawingOrder="true">
<legendlayer drawingOrder="-1" open="true" checked="Qt::Checked" name="trt('Map_of_the_level_of_threat')" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="view_frmlocustinfo_p4r_201520170221164520581" visible="1"/>
</filegroup>
</legendlayer>
<legendlayer drawingOrder="-1" open="true" checked="Qt::Unchecked" name="Bing Aerial with labels" showFeatureCount="0">
<filegroup open="true" hidden="false">
<legendlayerfile isInOverview="0" layerid="OpenLayers_plugin_layer20170821155911549" visible="0"/>
</filegroup>
</legendlayer>
</legend>
<projectlayers>
<maplayer minimumScale="0" maximumScale="1e+08" type="plugin" hasScaleBasedVisibilityFlag="0" name="openlayers">
<extent>
<xmin>-20037508.33999999985098839</xmin>
<ymin>-20037508.33999999985098839</ymin>
<xmax>20037508.33999999985098839</xmax>
<ymax>20037508.33999999985098839</ymax>
</extent>
<id>OpenLayers_plugin_layer20170821155911549</id>
<datasource></datasource>
<keywordList>
<value></value>
</keywordList>
<layername>Bing Aerial with labels</layername>
<srs>
<spatialrefsys>
<proj4>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs</proj4>
<srsid>3857</srsid>
<srid>3857</srid>
<authid>EPSG:3857</authid>
<description>WGS 84 / Pseudo Mercator</description>
<projectionacronym>merc</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>false</geographicflag>
</spatialrefsys>
</srs>
<customproperties>
<property key="ol_layer_type" value="Bing Aerial with labels"/>
</customproperties>
</maplayer>
<maplayer simplifyAlgorithm="0" minimumScale="0" maximumScale="1e+08" simplifyDrawingHints="1" readOnly="0" minLabelScale="0" maxLabelScale="1e+08" simplifyDrawingTol="1" geometry="Polygon" simplifyMaxScale="1" type="vector" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
<extent>
<xmin>-180</xmin>
<ymin>38.39295510000000178</ymin>
<xmax>180</xmax>
<ymax>82.05862320000009902</ymax>
</extent>
<id>view_frmlocustinfo_p4r_201520170221164520581</id>
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='B2C0D5C60590' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p4r_${year}" (geom) sql=${sql}</datasource>
<keywordList>
<value></value>
</keywordList>
<layername>trt('Map_of_the_level_of_threat')</layername>
<srs>
<spatialrefsys>
<proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
<srsid>3452</srsid>
<srid>4326</srid>
<authid>EPSG:4326</authid>
<description>WGS 84</description>
<projectionacronym>longlat</projectionacronym>
<ellipsoidacronym>WGS84</ellipsoidacronym>
<geographicflag>true</geographicflag>
</spatialrefsys>
</srs>
<provider encoding="System">postgres</provider>
<previewExpression></previewExpression>
<vectorjoins/>
<layerDependencies/>
<expressionfields/>
<defaults>
<default field="country_id" expression=""/>
<default field="region_id" expression=""/>
<default field="locust_type_id" expression=""/>
<default field="name" expression=""/>
<default field="percent" expression=""/>
</defaults>
<map-layer-style-manager current="">
<map-layer-style name=""/>
</map-layer-style-manager>
<edittypes>
<edittype widgetv2type="TextEdit" name="country_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="region_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="locust_type_id">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="name">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
<edittype widgetv2type="TextEdit" name="percent">
<widgetv2config IsMultiline="0" fieldEditable="1" constraint="" UseHtml="0" labelOnTop="0" constraintDescription="" notNull="0"/>
</edittype>
</edittypes>
<renderer-v2 forceraster="0" symbollevels="0" type="RuleRenderer" enableorderby="0">
<rules key="{d544320a-3c0f-4ff0-97cd-14e77a01f052}">
<rule description="" filter=" &quot;percent&quot; >= -25 AND &quot;percent&quot; &lt;= 25" key="{7c75fcc4-03a0-49be-a6e9-f1fd4612e11f}" symbol="0" label="trt('Normal/Multiyear_average_level')"/>
<rule description="" filter=" &quot;percent&quot; > 25 OR &quot;percent&quot; &lt; -25" key="{708b86f0-c637-43b1-b85b-823ad0a54776}" symbol="1" label="trt('Danger')"/>
<rule filter=" &quot;percent&quot; is null" key="{c017f2c4-f56f-48a8-bbc4-987fa0f239a9}" symbol="2" label="trt('No_data')"/>
</rules>
<symbols>
<symbol alpha="1" clip_to_extent="1" type="fill" name="0">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="0,255,76,77"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="1">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="255,0,0,77"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,255,128"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
<symbol alpha="1" clip_to_extent="1" type="fill" name="2">
<layer pass="0" class="SimpleFill" locked="0">
<prop k="border_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="color" v="150,150,150,102"/>
<prop k="joinstyle" v="bevel"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
</layer>
</symbol>
</symbols>
</renderer-v2>
<labeling type="simple"/>
<customproperties>
<property key="embeddedWidgets/count" value="0"/>
<property key="labeling" value="pal"/>
<property key="labeling/addDirectionSymbol" value="false"/>
<property key="labeling/angleOffset" value="0"/>
<property key="labeling/blendMode" value="0"/>
<property key="labeling/bufferBlendMode" value="0"/>
<property key="labeling/bufferColorA" value="255"/>
<property key="labeling/bufferColorB" value="255"/>
<property key="labeling/bufferColorG" value="255"/>
<property key="labeling/bufferColorR" value="255"/>
<property key="labeling/bufferDraw" value="true"/>
<property key="labeling/bufferJoinStyle" value="128"/>
<property key="labeling/bufferNoFill" value="false"/>
<property key="labeling/bufferSize" value="1"/>
<property key="labeling/bufferSizeInMapUnits" value="false"/>
<property key="labeling/bufferSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/bufferTransp" value="0"/>
<property key="labeling/centroidInside" value="true"/>
<property key="labeling/centroidWhole" value="false"/>
<property key="labeling/decimals" value="3"/>
<property key="labeling/displayAll" value="true"/>
<property key="labeling/dist" value="0"/>
<property key="labeling/distInMapUnits" value="false"/>
<property key="labeling/distMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/drawLabels" value="true"/>
<property key="labeling/enabled" value="true"/>
<property key="labeling/fieldName" value=" &quot;name&quot; || '\n' || &quot;percent&quot; || '%'"/>
<property key="labeling/fitInPolygonOnly" value="true"/>
<property key="labeling/fontCapitals" value="0"/>
<property key="labeling/fontFamily" value="Arial"/>
<property key="labeling/fontItalic" value="false"/>
<property key="labeling/fontLetterSpacing" value="0"/>
<property key="labeling/fontLimitPixelSize" value="false"/>
<property key="labeling/fontMaxPixelSize" value="10000"/>
<property key="labeling/fontMinPixelSize" value="3"/>
<property key="labeling/fontSize" value="7"/>
<property key="labeling/fontSizeInMapUnits" value="false"/>
<property key="labeling/fontSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/fontStrikeout" value="false"/>
<property key="labeling/fontUnderline" value="false"/>
<property key="labeling/fontWeight" value="75"/>
<property key="labeling/fontWordSpacing" value="0"/>
<property key="labeling/formatNumbers" value="false"/>
<property key="labeling/isExpression" value="true"/>
<property key="labeling/labelOffsetInMapUnits" value="true"/>
<property key="labeling/labelOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/labelPerPart" value="false"/>
<property key="labeling/leftDirectionSymbol" value="&lt;"/>
<property key="labeling/limitNumLabels" value="false"/>
<property key="labeling/maxCurvedCharAngleIn" value="25"/>
<property key="labeling/maxCurvedCharAngleOut" value="-25"/>
<property key="labeling/maxNumLabels" value="2000"/>
<property key="labeling/mergeLines" value="false"/>
<property key="labeling/minFeatureSize" value="0"/>
<property key="labeling/multilineAlign" value="4294967295"/>
<property key="labeling/multilineHeight" value="1"/>
<property key="labeling/namedStyle" value="Bold"/>
<property key="labeling/obstacle" value="false"/>
<property key="labeling/obstacleFactor" value="1"/>
<property key="labeling/obstacleType" value="0"/>
<property key="labeling/offsetType" value="0"/>
<property key="labeling/placeDirectionSymbol" value="0"/>
<property key="labeling/placement" value="1"/>
<property key="labeling/placementFlags" value="10"/>
<property key="labeling/plussign" value="false"/>
<property key="labeling/predefinedPositionOrder" value="TR,TL,BR,BL,R,L,TSR,BSR"/>
<property key="labeling/preserveRotation" value="true"/>
<property key="labeling/previewBkgrdColor" value="#ffffff"/>
<property key="labeling/priority" value="0"/>
<property key="labeling/quadOffset" value="4"/>
<property key="labeling/repeatDistance" value="0"/>
<property key="labeling/repeatDistanceMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/repeatDistanceUnit" value="1"/>
<property key="labeling/reverseDirectionSymbol" value="false"/>
<property key="labeling/rightDirectionSymbol" value=">"/>
<property key="labeling/scaleMax" value="35000000"/>
<property key="labeling/scaleMin" value="1"/>
<property key="labeling/scaleVisibility" value="true"/>
<property key="labeling/shadowBlendMode" value="6"/>
<property key="labeling/shadowColorB" value="0"/>
<property key="labeling/shadowColorG" value="0"/>
<property key="labeling/shadowColorR" value="0"/>
<property key="labeling/shadowDraw" value="false"/>
<property key="labeling/shadowOffsetAngle" value="135"/>
<property key="labeling/shadowOffsetDist" value="1"/>
<property key="labeling/shadowOffsetGlobal" value="true"/>
<property key="labeling/shadowOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowOffsetUnits" value="1"/>
<property key="labeling/shadowRadius" value="1.5"/>
<property key="labeling/shadowRadiusAlphaOnly" value="false"/>
<property key="labeling/shadowRadiusMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shadowRadiusUnits" value="1"/>
<property key="labeling/shadowScale" value="100"/>
<property key="labeling/shadowTransparency" value="30"/>
<property key="labeling/shadowUnder" value="0"/>
<property key="labeling/shapeBlendMode" value="0"/>
<property key="labeling/shapeBorderColorA" value="255"/>
<property key="labeling/shapeBorderColorB" value="128"/>
<property key="labeling/shapeBorderColorG" value="128"/>
<property key="labeling/shapeBorderColorR" value="128"/>
<property key="labeling/shapeBorderWidth" value="0"/>
<property key="labeling/shapeBorderWidthMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeBorderWidthUnits" value="1"/>
<property key="labeling/shapeDraw" value="false"/>
<property key="labeling/shapeFillColorA" value="255"/>
<property key="labeling/shapeFillColorB" value="255"/>
<property key="labeling/shapeFillColorG" value="255"/>
<property key="labeling/shapeFillColorR" value="255"/>
<property key="labeling/shapeJoinStyle" value="64"/>
<property key="labeling/shapeOffsetMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeOffsetUnits" value="1"/>
<property key="labeling/shapeOffsetX" value="0"/>
<property key="labeling/shapeOffsetY" value="0"/>
<property key="labeling/shapeRadiiMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeRadiiUnits" value="1"/>
<property key="labeling/shapeRadiiX" value="0"/>
<property key="labeling/shapeRadiiY" value="0"/>
<property key="labeling/shapeRotation" value="0"/>
<property key="labeling/shapeRotationType" value="0"/>
<property key="labeling/shapeSVGFile" value=""/>
<property key="labeling/shapeSizeMapUnitScale" value="0,0,0,0,0,0"/>
<property key="labeling/shapeSizeType" value="0"/>
<property key="labeling/shapeSizeUnits" value="1"/>
<property key="labeling/shapeSizeX" value="0"/>
<property key="labeling/shapeSizeY" value="0"/>
<property key="labeling/shapeTransparency" value="0"/>
<property key="labeling/shapeType" value="0"/>
<property key="labeling/substitutions" value="&lt;substitutions/>"/>
<property key="labeling/textColorA" value="255"/>
<property key="labeling/textColorB" value="0"/>
<property key="labeling/textColorG" value="0"/>
<property key="labeling/textColorR" value="0"/>
<property key="labeling/textTransp" value="0"/>
<property key="labeling/upsidedownLabels" value="0"/>
<property key="labeling/useSubstitutions" value="false"/>
<property key="labeling/wrapChar" value=""/>
<property key="labeling/xOffset" value="0.2"/>
<property key="labeling/yOffset" value="0.2"/>
<property key="labeling/zIndex" value="0"/>
<property key="variableNames"/>
<property key="variableValues"/>
</customproperties>
<blendMode>0</blendMode>
<featureBlendMode>0</featureBlendMode>
<layerTransparency>0</layerTransparency>
<displayfield>name</displayfield>
<label>0</label>
<labelattributes>
<label fieldname="" text="Подпись"/>
<family fieldname="" name="MS Shell Dlg 2"/>
<size fieldname="" units="pt" value="12"/>
<bold fieldname="" on="0"/>
<italic fieldname="" on="0"/>
<underline fieldname="" on="0"/>
<strikeout fieldname="" on="0"/>
<color fieldname="" red="0" blue="0" green="0"/>
<x fieldname=""/>
<y fieldname=""/>
<offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
<angle fieldname="" value="0" auto="0"/>
<alignment fieldname="" value="center"/>
<buffercolor fieldname="" red="255" blue="255" green="255"/>
<buffersize fieldname="" units="pt" value="1"/>
<bufferenabled fieldname="" on=""/>
<multilineenabled fieldname="" on=""/>
<selectedonly on=""/>
</labelattributes>
<SingleCategoryDiagramRenderer diagramType="Histogram" sizeLegend="0" attributeLegend="1">
<DiagramCategory penColor="#000000" labelPlacementMethod="XHeight" penWidth="0" diagramOrientation="Up" sizeScale="0,0,0,0,0,0" minimumSize="0" barWidth="5" penAlpha="255" maxScaleDenominator="1e+08" backgroundColor="#ffffff" transparency="0" width="15" scaleDependency="Area" backgroundAlpha="255" angleOffset="1440" scaleBasedVisibility="0" enabled="0" height="15" lineSizeScale="0,0,0,0,0,0" sizeType="MM" lineSizeType="MM" minScaleDenominator="inf">
<fontProperties description="MS Shell Dlg 2,7.8,-1,5,50,0,0,0,0,0" style=""/>
<attribute field="" color="#000000" label=""/>
</DiagramCategory>
<symbol alpha="1" clip_to_extent="1" type="marker" name="sizeSymbol">
<layer pass="0" class="SimpleMarker" locked="0">
<prop k="angle" v="0"/>
<prop k="color" v="255,0,0,255"/>
<prop k="horizontal_anchor_point" v="1"/>
<prop k="joinstyle" v="bevel"/>
<prop k="name" v="circle"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="0,0,0,255"/>
<prop k="outline_style" v="solid"/>
<prop k="outline_width" v="0"/>
<prop k="outline_width_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="scale_method" v="diameter"/>
<prop k="size" v="2"/>
<prop k="size_map_unit_scale" v="0,0,0,0,0,0"/>
<prop k="size_unit" v="MM"/>
<prop k="vertical_anchor_point" v="1"/>
</layer>
</symbol>
</SingleCategoryDiagramRenderer>
<DiagramLayerSettings yPosColumn="-1" showColumn="-1" linePlacementFlags="10" placement="0" dist="0" xPosColumn="-1" priority="0" obstacle="0" zIndex="0" showAll="1"/>
<annotationform>.</annotationform>
<aliases>
<alias field="country_id" index="0" name=""/>
<alias field="region_id" index="1" name=""/>
<alias field="locust_type_id" index="2" name=""/>
<alias field="name" index="3" name=""/>
<alias field="percent" index="4" name=""/>
</aliases>
<excludeAttributesWMS/>
<excludeAttributesWFS/>
<attributeactions default="-1"/>
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="1380262664">
<columns>
<column width="-1" hidden="0" type="field" name="country_id"/>
<column width="-1" hidden="0" type="field" name="region_id"/>
<column width="-1" hidden="0" type="field" name="locust_type_id"/>
<column width="-1" hidden="0" type="field" name="name"/>
<column width="-1" hidden="0" type="field" name="percent"/>
<column width="-1" hidden="1" type="actions"/>
</columns>
</attributetableconfig>
<editform>.</editform>
<editforminit/>
<editforminitcodesource>0</editforminitcodesource>
<editforminitfilepath>.</editforminitfilepath>
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
"""
QGIS forms can have a Python function that is called when the form is
opened.
Use this function to add extra logic to your forms.
Enter the name of the function in the "Python Init function"
field.
An example follows:
"""
from qgis.PyQt.QtWidgets import QWidget
def my_form_open(dialog, layer, feature):
geom = feature.geometry()
control = dialog.findChild(QWidget, "MyLineEdit")
]]></editforminitcode>
<featformsuppress>0</featformsuppress>
<editorlayout>generatedlayout</editorlayout>
<widgets/>
<conditionalstyles>
<rowstyles/>
<fieldstyles/>
</conditionalstyles>
</maplayer>
</projectlayers>
<properties>
<Measurement>
<DistanceUnits type="QString">meters</DistanceUnits>
<AreaUnits type="QString">m2</AreaUnits>
</Measurement>
<SpatialRefSys>
<ProjectCRSProj4String type="QString">+proj=longlat +datum=WGS84 +no_defs</ProjectCRSProj4String>
<ProjectCrs type="QString">EPSG:4326</ProjectCrs>
<ProjectCRSID type="int">3452</ProjectCRSID>
<ProjectionsEnabled type="int">1</ProjectionsEnabled>
</SpatialRefSys>
<Paths>
<Absolute type="bool">false</Absolute>
</Paths>
<Gui>
<SelectionColorBluePart type="int">0</SelectionColorBluePart>
<CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
<CanvasColorRedPart type="int">255</CanvasColorRedPart>
<SelectionColorRedPart type="int">255</SelectionColorRedPart>
<SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
<SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
<CanvasColorBluePart type="int">255</CanvasColorBluePart>
</Gui>
<Digitizing>
<DefaultSnapToleranceUnit type="int">2</DefaultSnapToleranceUnit>
<LayerSnappingList type="QStringList">
<value>view_frmlocustinfo_p4r_201520170221164520581</value>
</LayerSnappingList>
<LayerSnappingEnabledList type="QStringList">
<value>disabled</value>
</LayerSnappingEnabledList>
<SnappingMode type="QString">current_layer</SnappingMode>
<AvoidIntersectionsList type="QStringList"/>
<LayerSnappingToleranceUnitList type="QStringList">
<value>2</value>
</LayerSnappingToleranceUnitList>
<LayerSnapToList type="QStringList">
<value>to_vertex_and_segment</value>
</LayerSnapToList>
<DefaultSnapType type="QString">off</DefaultSnapType>
<DefaultSnapTolerance type="double">0</DefaultSnapTolerance>
<LayerSnappingToleranceList type="QStringList">
<value>0.000000</value>
</LayerSnappingToleranceList>
</Digitizing>
<PositionPrecision>
<DecimalPlaces type="int">2</DecimalPlaces>
<Automatic type="bool">true</Automatic>
</PositionPrecision>
<Legend>
<filterByMap type="bool">false</filterByMap>
</Legend>
</properties>
<visibility-presets/>
</qgis>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,365 @@
<%@ page language="java" contentType="application/octet-stream" pageEncoding="UTF-8"%>
<%@ page session="true" %>
<%@page import="java.sql.*"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.InputStream"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="java.util.Locale"%>
<%@page import="java.util.ResourceBundle"%>
<%@ page import="java.io.File" %>
<%@page import="javax.xml.parsers.DocumentBuilderFactory"%>
<%@page import="javax.xml.parsers.DocumentBuilder"%>
<%@page import="org.w3c.dom.Document"%>
<%@page import="org.w3c.dom.Element"%>
<%@page import="org.w3c.dom.NamedNodeMap"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="org.w3c.dom.ls.DOMImplementationLS"%>
<%@page import="org.w3c.dom.ls.LSSerializer"%>
<%@page import="org.w3c.dom.ls.LSOutput"%>
<%@page import="org.w3c.dom.CDATASection"%>
<%@page import="org.w3c.dom.CharacterData"%>
<%@ page import="java.util.Properties" %>
<%!
//application/octet-stream
public String m_locale = "en";
/*public String trt(String val)
{
String locale = m_locale;
try
{
ResourceBundle rb = ResourceBundle.getBundle("messages", new Locale(locale));
val=rb.getString(val);
val=new String(val.getBytes("ISO-8859-1"), "UTF-8");
return val;
}catch(Exception exception){
System.out.println("Exception: "+exception.getMessage());
}
return val.replaceAll("_", " ");
}
//Translate text by patterns
public String getText(String text)
{
int pos1=0;
while(true)
{
pos1=text.indexOf("trt('",pos1);
if(pos1==-1) break;
int pos2=text.indexOf("')",pos1);
if(pos2==-1) break;
text=text.substring(0,pos1)+trt(text.substring(pos1+3,pos2))+text.substring(pos2+2);
}
return text;
}*/
/*public String fileToString(String fName)
{
StringBuilder sb = new StringBuilder();
try
{
InputStream is = new FileInputStream(fName);
BufferedReader buf = new BufferedReader(new InputStreamReader(is));
String line = buf.readLine();
while(line != null)
{
sb.append(line).append("\n");
line = buf.readLine();
}
buf.close();
}
catch (Exception e){
System.out.println("Error: "+e.getMessage());
}
return sb.toString();
}*/
%>
<%
String db_url="";
String db_login="";
String db_password="";
//String data_dir = "";
Properties prop = new Properties();
try {
prop.load(new FileInputStream("org_ccalm_main.properties")); // load a properties file
db_url = prop.getProperty("spring.datasource.url");
db_login = prop.getProperty("spring.datasource.username");
db_password = prop.getProperty("spring.datasource.password");
//data_dir = prop.getProperty("data.dir");
} catch (Exception e) {
e.printStackTrace();
logger.error("Error load org_ccalm_main.properties",e);
}
//Connection to database
Connection conn = null;
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(db_url,db_login,db_password);
if(conn!=null)
{
System.out.println("Connect is OK!");
}else
{
out.write("<br>Connect is ERROR<br>");
}
}catch(Exception e)
{
out.write("<br>Connect Exception:"+e.getMessage()+"<br>");
}
//Select language for current user
String user_id = (String)request.getSession().getAttribute("USER_ID");
if(user_id==null) user_id="null";
Statement st = conn.createStatement();
ResultSet rs=null;
try {
String sql="select l.short_name lng from main._users u LEFT JOIN main._languages l ON l.id = u.language_id where u.id="+user_id+";";
rs = st.executeQuery(sql);
} catch( SQLException ex )
{
out.write("<br>SQLException:"+ex.getMessage()+"<br>");
}
if(rs!=null)
{
while (rs.next())
{
m_locale = rs.getString("lng");
}
}
st.close();
String jspPath = application.getRealPath("/")+"QGIS/";
String fileAsString="";
String name=request.getParameter("name");
//Pods (кубышки)
if(name!=null && (name.equals("frmlocust_pods_density") || name.equals("frmlocust_hoppers_density") || name.equals("frmlocust_bands") || name.equals("frmlocust_adults_density") || name.equals("frmlocust_swarms")))
{
fileAsString = fileToString(jspPath + name + ".qgs");
String country_id=request.getParameter("country_id");
String locust_type_id=request.getParameter("locust_type_id");
String date_start=request.getParameter("date_start");
String date_end=request.getParameter("date_end");
String registered=request.getParameter("registered");
//Make SQL
String sql = "1=1";
String sql2 = "1=1";
if(country_id!=null && !country_id.equals(""))
{
if(country_id.equals("-1"))
{
sql+=" and country_id in (7,3,4,2)";
sql2+=" and country_id in (7,3,4,2)";
}else if(country_id.equals("-2"))
{
sql+=" and country_id in (7,1,5,6,8,9,10)";
sql2+=" and country_id in (7,1,5,6,8,9,10)";
}else
{
sql+=" and country_id="+country_id;
sql2+=" and country_id="+country_id;
}
}
if(locust_type_id!=null && !locust_type_id.equals(""))
{
sql+=" and locust_type_id="+locust_type_id;
}
if(date_start!=null && !date_start.equals(""))
{
sql+=" and date>='"+date_start+"'";
}
if(date_end!=null && !date_end.equals(""))
{
sql+=" and date&lt;='"+date_end+"'";
}
if(registered!=null && registered.equals("1"))
{
sql+=" and registered=true";
}else
if(registered!=null && registered.equals("0"))
{
sql+=" and registered=false";
}
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
}
if(name!=null && name.equals("frmlocustdel"))
{
fileAsString = fileToString(jspPath + name + ".qgs");
String country_id=request.getParameter("country_id");
String date_start=request.getParameter("date_start");
String date_end=request.getParameter("date_end");
String registered=request.getParameter("registered");
//Make SQL
String sql = "1=1";
String sql2 = "1=1";
if(country_id!=null && !country_id.equals(""))
{
//sql+=" and country_id="+country_id;
if(country_id.equals("-1"))
{
sql+=" and country_id in (7,3,4,2)";
sql2+=" and country_id in (7,3,4,2)";
}else if(country_id.equals("-2"))
{
sql+=" and country_id in (7,1,5,6,8,9,10)";
sql2+=" and country_id in (7,1,5,6,8,9,10)";
}else
{
sql+=" and country_id="+country_id;
sql2+=" and country_id="+country_id;
}
}
if(date_start!=null && !date_start.equals(""))
{
sql+=" and date>='"+date_start+"'";
}
if(date_end!=null && !date_end.equals(""))
{
sql+=" and date&lt;='"+date_end+"'";
}
if(registered!=null && registered.equals("1"))
{
sql+=" and registered=true";
}else
if(registered!=null && registered.equals("0"))
{
sql+=" and registered=false";
}
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
}
if(name!=null && (name.equals("frmlocustinfo_p2") || name.equals("frmlocustinfo_p3") || name.equals("frmlocustinfo_p4")))
{
String country_id=request.getParameter("country_id");
String year=request.getParameter("year");
String locust_type_id=request.getParameter("locust_type_id");
//Make SQL
String sql = "1=1";
if(country_id!=null && !country_id.equals(""))
{
if(country_id.equals("-1"))
{
sql+=" and country_id in (7,3,4,2)";
}else if(country_id.equals("-2"))
{
sql+=" and country_id in (7,1,5,6,8,9,10)";
}else
{
sql+=" and country_id="+country_id;
}
}
if(locust_type_id!=null && !locust_type_id.equals(""))
{
sql+=" and locust_type_id="+locust_type_id;
}
String fileName = jspPath + name + ".qgs";
fileAsString = fileToString(fileName);
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
}
if(name!=null && (name.equals("frmlocustinfo_p2r") || name.equals("frmlocustinfo_p3r") || name.equals("frmlocustinfo_p4r")))
{
String region_id=request.getParameter("region_id");
String year=request.getParameter("year");
String locust_type_id=request.getParameter("locust_type_id");
//Make SQL
String sql = "1=1";
if(region_id!=null && !region_id.equals(""))
{
sql+=" and region_id="+region_id;
}
if(locust_type_id!=null && !locust_type_id.equals(""))
{
sql+=" and locust_type_id="+locust_type_id;
}
String fileName = jspPath + name + ".qgs";
fileAsString = fileToString(fileName);
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
}
if(name!=null && name.equals("weather"))
{
String country_id=request.getParameter("country_id");
String country_name=request.getParameter("country_name");
//Make SQL
String sql2 = "1=1";
if(country_id!=null && !country_id.equals(""))
{
//sql+=" and country_id="+country_id;
if(country_id.equals("-1"))
{
sql2+=" and country_id in (7,3,4,2)";
}else if(country_id.equals("-2"))
{
sql2+=" and country_id in (7,1,5,6,8,9,10)";
}else
{
sql2+=" and country_id="+country_id;
}
}
String fileName = jspPath + name + ".qgs";
fileAsString = fileToString(fileName);
//Apply variables to text
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
}
if(name!=null && name.equals("NDVI"))
{
String fileName = jspPath + "NDVI.qgs";
fileAsString = fileToString(fileName);
}
if(name!=null && name.equals("NDWI"))
{
String fileName = jspPath + "NDWI.qgs";
fileAsString = fileToString(fileName);
}
//Send file to client.
response.setHeader("Content-Disposition", "attachment;filename=Locust.qgs");
out.write(fileAsString); //out.write(getText(fileAsString));
%>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,115 @@
/*https://1stwebdesigner.com/free-code-snippets-css-buttons/*/
:root{
--btn-color: #d9d9cc; /*Цвет кнопки*/
--btn-color2: #E0E0FF; /*Цвет кнопки при наведении на неё мышкой*/
}
/* Normal white Button as seen on Google.com*/
button
{
color: #444444;
background: var(--btn-color);
border: 1px #AAAAAA solid;
padding: 5px 10px;
border-radius: 2px;
font-weight: bold;
font-size: 9pt;
outline: none;
}
button:hover {
border: 1px #C6C6C6 solid;
box-shadow: 1px 1px 1px #EAEAEA;
color: #333333;
background: var(--btn-color2);
}
button:active {
box-shadow: inset 1px 1px 1px #DFDFDF;
}
/* Blue button as seen on translate.google.com*/
button.button-secondary,
button.main,
input[type="button"].main,
input[type="button"].button-secondary,
button.blue {
color: white;
background: #1b6ec2;
border: 1px #1861ac solid;
border-radius: 4px;
box-shadow: inset 0 1px 0 #80B0FB;
padding: 3px;
margin: 1px;
}
button.button-secondary:hover,
button.main:hover,
input[type="button"].main:hover,
input[type="button"].button-secondary:hover,
button.blue:hover {
border: 1px #13487e solid;
border-radius: 4px;
box-shadow: 0 1px 1px #EAEAEA, inset 0 1px 0 #5A94F1;
background: #0b5ed7;
padding: 3px;
margin: 1px;
}
button.button-secondary:active,
button.main:active,
input[type="button"].main:active,
input[type="button"].button-secondary:active,
button.blue:active {
box-shadow: inset 0 2px 5px #2370FE;
padding: 3px;
margin: 1px;
}
/* Orange button as seen on blogger.com*/
button.orange {
color: white;
border: 1px solid #FB8F3D;
background: -webkit-linear-gradient(top, #FDA251, #FB8F3D);
background: -moz-linear-gradient(top, #FDA251, #FB8F3D);
background: -ms-linear-gradient(top, #FDA251, #FB8F3D);
}
button.orange:hover {
border: 1px solid #EB5200;
background: -webkit-linear-gradient(top, #FD924C, #F9760B);
background: -moz-linear-gradient(top, #FD924C, #F9760B);
background: -ms-linear-gradient(top, #FD924C, #F9760B);
box-shadow: 0 1px #EFEFEF;
}
button.orange:active {
box-shadow: inset 0 1px 1px rgba(0,0,0,0.3);
}
/* Red Google Button as seen on drive.google.com */
button.red {
background: -webkit-linear-gradient(top, #DD4B39, #D14836);
background: -moz-linear-gradient(top, #DD4B39, #D14836);
background: -ms-linear-gradient(top, #DD4B39, #D14836);
border: 1px solid #DD4B39;
color: white;
text-shadow: 0 1px 0 #C04131;
}
button.red:hover {
background: -webkit-linear-gradient(top, #DD4B39, #C53727);
background: -moz-linear-gradient(top, #DD4B39, #C53727);
background: -ms-linear-gradient(top, #DD4B39, #C53727);
border: 1px solid #AF301F;
}
button.red:active {
box-shadow: inset 0 1px 1px rgba(0,0,0,0.2);
background: -webkit-linear-gradient(top, #D74736, #AD2719);
background: -moz-linear-gradient(top, #D74736, #AD2719);
background: -ms-linear-gradient(top, #D74736, #AD2719);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

View File

@ -0,0 +1,88 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.ResourceBundle"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory"%>
<%@page import="javax.xml.parsers.DocumentBuilder"%>
<%@page import="org.w3c.dom.Document"%>
<%@page import="org.w3c.dom.Element"%>
<%@page import="org.w3c.dom.NamedNodeMap"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="org.w3c.dom.ls.DOMImplementationLS"%>
<%@page import="org.w3c.dom.ls.LSSerializer"%>
<%@page import="org.w3c.dom.ls.LSOutput"%>
<%@page import="org.w3c.dom.CDATASection"%>
<%@page import="org.w3c.dom.CharacterData"%>
<%@ page import="java.util.Properties" %>
<%
String db_url="";
String db_login="";
String db_password="";
//String data_dir = "";
Properties prop = new Properties();
try {
prop.load(new FileInputStream("org_ccalm_main.properties")); // load a properties file
db_url = prop.getProperty("spring.datasource.url");
db_login = prop.getProperty("spring.datasource.username");
db_password = prop.getProperty("spring.datasource.password");
//data_dir = prop.getProperty("data.dir");
} catch (Exception e) {
e.printStackTrace();
logger.error("Error load org_ccalm_main.properties",e);
}
String table = request.getParameter("table");
String id = request.getParameter("id");
//Selection of geometric information and sending it to the client using JSON
Connection conn = null;
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(db_url,db_login,db_password);
if(conn!=null)
{
System.out.println("Connect is OK!");
}else
{
out.write("<br>Connect is ERROR<br>");
}
}catch(Exception e)
{
out.write("<br>Connect Exception:"+e.getMessage()+"<br>");
}
Statement st = conn.createStatement();
ResultSet rs=null;
try {
String sql="select id,name,ST_AsGeoJSON(geom,3,0) as geom from main."+table+" where id="+id+";";
rs = st.executeQuery(sql);
} catch( SQLException ex )
{
out.write("<br>SQLException:"+ex.getMessage()+"<br>");
}
if(rs!=null)
{
while (rs.next())
{
String geom=null;
try {
geom=rs.getString("geom");
} catch( Exception ex )
{
out.write("<br>SQLException:"+ex.getMessage()+"<br>");
System.out.println("Error: "+ex.getMessage());
}
if(geom==null) geom="";
out.write(geom);
}
}
st.close();
conn.close();
%>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,37 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>HELP</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
html,body
{
height:100%;
min-height:100%;
margin:0px;
padding:0px;
text-align:center;
background-color: #ffffff;
}
</style>
</head>
<body>
<h3>ASDC Guidelines</h3>
<a href="ASDC_for_Android_ENG.pdf" target="_blank">ASDC_for_Android_ENG_v2.4.3.pdf</a><br/>
<a href="ASDC_for_Android_RUS.pdf" target="_blank">ASDC_for_Android_RUS_v2.4.3.pdf</a>
<h3>CCALM Guidelines</h3>
<a href="CCALM_help_ENG.pdf" target="_blank">CCALM_help_ENG.pdf</a><br/>
<a href="CCALM_help_RUS.pdf" target="_blank">CCALM_help_RUS.pdf</a>
<h3>QGIS Guidelines</h3>
<a href="QGIS_Guide_ENG.doc" target="_blank">QGIS_Guide_ENG.doc</a><br/>
<a href="QGIS_Guide_RUS.doc" target="_blank">QGIS_Guide_RUS.doc</a>
<h3>Technical support and administration.</h3>
<a href="Administration CCALM v 0.3_ENG.doc" target="_blank">Administration CCALM v 0.3_ENG.doc</a><br/>
<a href="Administration CCALM v 0.3_RUS.doc" target="_blank">Administration CCALM v 0.3_RUS.doc</a>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2985"
version="1.1"
inkscape:version="0.48.1 "
width="500"
height="431"
sodipodi:docname="cloud.svg"
inkscape:export-filename="D:\projects\Locust_Flex\src\assets\cloud.png"
inkscape:export-xdpi="6.4699998"
inkscape:export-ydpi="6.4699998">
<metadata
id="metadata2991">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs2989" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1205"
inkscape:window-height="950"
id="namedview2987"
showgrid="false"
inkscape:zoom="0.67517401"
inkscape:cx="307.61"
inkscape:cy="201.59211"
inkscape:window-x="89"
inkscape:window-y="30"
inkscape:window-maximized="0"
inkscape:current-layer="svg2985" />
<path
style="fill:#66d346;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 205.78028,265.74168 c 7.4055,19.43943 65.02954,65.42295 117.09945,12.70506 C 471.27546,293.7052 416.58318,78.289638 299.61593,150.9079 293.81089,100.60049 204.82049,59.883021 162.60139,138.49565 29.479273,150.65547 96.582504,337.51906 205.78028,265.74168 z"
id="path2995"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="330"
height="330"
id="svg2"
sodipodi:docname="empty.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview8"
showgrid="false"
inkscape:zoom="2.3182813"
inkscape:cx="59.534365"
inkscape:cy="180.39188"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:measure-start="0,0"
inkscape:measure-end="0,0"
showguides="true" />
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="opacity:0;fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:0.62362206;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4550"
sodipodi:type="arc"
sodipodi:cx="-263.12598"
sodipodi:cy="-458.5152"
sodipodi:rx="240.69556"
sodipodi:ry="170.81621"
sodipodi:start="0"
sodipodi:end="6.0842003"
d="m -22.43042,-458.5152 a 240.69556,170.81621 0 0 1 -228.72679,170.6049 240.69556,170.81621 0 0 1 -251.47401,-153.63799 240.69556,170.81621 0 0 1 203.71733,-185.88442 240.69556,170.81621 0 0 1 271.733998,135.15151 l -235.946088,33.766 z" />
<g
id="g4591"
transform="matrix(0.81067499,-0.03321887,0.03486609,0.85087382,-64.364067,-278.58886)">
<path
d="M 458.57555,532.69049 A 199.34813,182.01639 0 0 1 261.9603,714.68977 199.34813,182.01639 0 0 1 59.954219,537.68059 199.34813,182.01639 0 0 1 251.03081,350.82803 199.34813,182.01639 0 0 1 458.27588,522.71404"
sodipodi:open="true"
sodipodi:end="6.2283471"
sodipodi:start="0"
sodipodi:ry="182.01639"
sodipodi:rx="199.34813"
sodipodi:cy="532.69049"
sodipodi:cx="259.22742"
sodipodi:type="arc"
id="path4524"
style="fill:#539ef7;fill-opacity:1;stroke:none;stroke-width:0.52919018;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0.99999692,0.00248115,0.00291849,0.99999574,0,0)" />
<path
d="M 405.87067,534.0658 A 146.29276,133.19995 0 0 1 261.58346,667.25323 146.29276,133.19995 0 0 1 113.34014,537.71756 146.29276,133.19995 0 0 1 253.56278,400.97849 146.29276,133.19995 0 0 1 405.65075,526.76501"
sodipodi:open="true"
sodipodi:end="6.2283471"
sodipodi:start="0"
sodipodi:ry="133.19995"
sodipodi:rx="146.29276"
sodipodi:cy="534.0658"
sodipodi:cx="259.57791"
sodipodi:type="arc"
id="path4524-3"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.38780537;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0.99999856,0.001695,0.00195187,0.9999981,0,0)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: CorelDRAW -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xml:space="preserve"
width="250px"
height="351px"
style="shape-rendering:geometricPrecision; image-rendering:optimizeQuality"
viewBox="0 0 250 352"
id="svg2436"
sodipodi:version="0.32"
inkscape:version="0.48.1 "
sodipodi:docname="flag.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1"
inkscape:export-filename="O:\projects\Workspace_Java\ASDC\WebContent\engine\images\icons\flag.png"
inkscape:export-xdpi="7.5139751"
inkscape:export-ydpi="7.5139751"><metadata
id="metadata2445"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs2443"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 175.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="250 : 175.5 : 1"
inkscape:persp3d-origin="125 : 117 : 1"
id="perspective2447" /></defs><sodipodi:namedview
inkscape:window-height="974"
inkscape:window-width="1280"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
showgrid="false"
inkscape:zoom="1.3162393"
inkscape:cx="125"
inkscape:cy="175.5"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:current-layer="svg2436"
inkscape:window-maximized="0" />
<path
style="fill:none;stroke:#000000;stroke-width:21;stroke-linecap:round"
d="M42 327l0 -291"
id="path2438" />
<path
style="fill:#0096ff;stroke:#000000;stroke-width:10;stroke-linejoin:round;fill-opacity:1"
d="M49 50c70,30 104,28 178,2 -21,42 -21,74 0,116 -72,25 -101,25 -178,0l0 -118z"
id="path2440" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: CorelDRAW -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xml:space="preserve"
width="250px"
height="351px"
style="shape-rendering:geometricPrecision; image-rendering:optimizeQuality"
viewBox="0 0 250 352"
id="svg2436"
sodipodi:version="0.32"
inkscape:version="0.48.1 "
sodipodi:docname="flag.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1"
inkscape:export-filename="O:\projects\Workspace_Java\ASDC\WebContent\engine\images\icons\flag.png"
inkscape:export-xdpi="7.5139751"
inkscape:export-ydpi="7.5139751"><metadata
id="metadata2445"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs2443"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 175.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="250 : 175.5 : 1"
inkscape:persp3d-origin="125 : 117 : 1"
id="perspective2447" /></defs><sodipodi:namedview
inkscape:window-height="974"
inkscape:window-width="1280"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
showgrid="false"
inkscape:zoom="1.3162393"
inkscape:cx="125"
inkscape:cy="175.5"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:current-layer="svg2436"
inkscape:window-maximized="0" />
<path
style="fill:none;stroke:#000000;stroke-width:21;stroke-linecap:round"
d="M42 327l0 -291"
id="path2438" />
<path
style="fill:#0096ff;stroke:#000000;stroke-width:10;stroke-linejoin:round;fill-opacity:1"
d="M49 50c70,30 104,28 178,2 -21,42 -21,74 0,116 -72,25 -101,25 -178,0l0 -118z"
id="path2440" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="744.09448"
height="1052.3622"
id="svg2"
sodipodi:docname="green.svg"
inkscape:version="0.92.1 r15371">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="975"
id="namedview8"
showgrid="false"
inkscape:zoom="0.72103517"
inkscape:cx="160.915"
inkscape:cy="745.22585"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<path
d="m 348.57143,732.36218 c 0,0 -418.556519,-636.613712 -8.57143,-642.85714 409.9851,-6.243428 8.57143,642.85714 8.57143,642.85714 z"
id="path2985"
style="fill:#00ff00;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
d="m 545.71429,353.79074 a 102.85714,102.85714 0 1 1 -205.71428,0 102.85714,102.85714 0 1 1 205.71428,0 z"
transform="translate(-97.142857,-90)"
id="path2987"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.01;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="744.09448"
height="1052.3622"
id="svg2"
sodipodi:docname="red.svg"
inkscape:version="0.92.1 r15371">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="975"
id="namedview8"
showgrid="false"
inkscape:zoom="0.28978516"
inkscape:cx="-1263.9325"
inkscape:cy="470.19911"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<path
inkscape:connector-curvature="0"
style="fill:#fb0b00;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2985"
d="m 348.57143,732.36218 c 0,0 -418.556519,-636.613712 -8.57143,-642.85714 409.9851,-6.243428 8.57143,642.85714 8.57143,642.85714 z" />
<path
inkscape:connector-curvature="0"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.01;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2987"
d="m 448.57143,263.79074 a 102.85714,102.85714 0 1 1 -205.71428,0 102.85714,102.85714 0 1 1 205.71428,0 z" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4484"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4486"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4488"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4490"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4492"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4494"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4496"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4498"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4500"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4502"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4504"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4506"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4508"
inkscape:connector-curvature="0" />
<g
id="g4513">
<path
inkscape:connector-curvature="0"
id="path4510"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0" />
</g>
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
id="path4515"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
id="path4517"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#fbff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:24.40106964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 332.59248,686.71046 C 304.25672,639.15279 280.79868,595.92139 259.61857,552.22493 176.71284,381.18307 150.98137,251.61069 185.20879,177.52991 c 12.27182,-26.56073 34.99046,-48.37768 62.91251,-60.41553 25.08826,-10.81614 50.50283,-15.65408 87.21808,-16.60289 29.40672,-0.759951 48.21485,0.69003 68.88444,5.31053 31.16754,6.96723 51.56909,17.31969 70.00379,35.52239 19.4953,19.24993 31.10955,43.66303 37.00322,77.78056 2.93811,17.00825 2.90123,60.99729 -0.0695,82.96363 -11.30305,83.5763 -45.67154,183.23158 -103.27954,299.47061 -22.80514,46.01526 -57.47596,109.85734 -59.6604,109.85734 -0.49968,0 -7.53268,-11.11774 -15.62887,-24.70609 z m 38.29711,-323.0436 c 36.7408,-9.36339 65.07185,-37.70224 74.9782,-74.99884 3.63533,-13.68672 3.63628,-36.32868 0.002,-50.0222 -12.2674,-46.22211 -52.78275,-77.6198 -100.16039,-77.6198 -47.80986,0 -87.71585,31.08708 -100.27613,78.11589 -3.51529,13.16213 -3.46067,36.05202 0.11817,49.52611 10.94156,41.19407 43.96967,70.88294 86.12734,77.4196 10.16538,1.57616 27.79863,0.48753 39.21037,-2.42076 z"
id="path4501"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="744.09448"
height="1052.3622"
id="svg2"
sodipodi:docname="yellow.svg"
inkscape:version="0.92.1 r15371">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="975"
id="namedview8"
showgrid="false"
inkscape:zoom="0.76875648"
inkscape:cx="226.41739"
inkscape:cy="759.33393"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<path
d="m 348.57143,732.36218 c 0,0 -418.556519,-636.613712 -8.57143,-642.85714 409.9851,-6.243428 8.57143,642.85714 8.57143,642.85714 z"
id="path2985"
style="fill:#fbff00;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1" />
<path
d="m 545.71429,353.79074 a 102.85714,102.85714 0 1 1 -205.71428,0 102.85714,102.85714 0 1 1 205.71428,0 z"
transform="translate(-97.142857,-90)"
id="path2987"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.01;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4484"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4486"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4488"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4490"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4492"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4494"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4496"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4498"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4500"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4502"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4504"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4506"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.32136917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 335.98393,706.34068 C 305.19375,656.10048 269.88836,591.12684 247.16755,542.88908 193.30111,428.52713 166.42955,339.31593 163.8421,266.256 c -2.42871,-68.57748 16.7041,-114.97802 59.1045,-143.33918 30.6262,-20.48553 69.05894,-29.793905 122.82259,-29.747513 38.56388,0.03328 64.18442,4.272508 90.59672,14.990323 120.18389,48.7693 112.18018,224.51453 -22.67452,497.88562 -20.25241,41.05474 -54.37495,103.9675 -63.8009,117.63161 -1.54682,2.24231 -3.07599,0.33601 -13.90656,-17.33618 z M 372.1202,363.39631 c 35.64374,-9.53326 64.35795,-38.7622 73.63012,-74.94999 3.68235,-14.37162 3.41337,-37.05201 -0.60765,-51.23663 -5.30719,-18.72177 -12.98564,-31.68529 -27.19938,-45.92068 -10.55789,-10.57399 -14.61805,-13.5796 -25.71312,-19.03463 -16.63803,-8.18031 -28.71627,-11.05395 -46.46098,-11.05395 -17.61566,0 -29.68693,2.85335 -46.41684,10.9718 -11.15055,5.41097 -15.03872,8.28049 -25.77572,19.02285 -10.66149,10.66679 -13.65868,14.71682 -19.11248,25.82615 -9.03335,18.40087 -11.27588,27.84294 -11.19936,47.15443 0.0712,17.97389 2.30295,28.2412 9.49598,43.68719 13.72067,29.46311 42.76211,51.66556 75.34408,57.60125 9.39715,1.71194 34.24846,0.54446 44.01535,-2.06779 z"
id="path4508"
inkscape:connector-curvature="0" />
<g
id="g4513">
<path
inkscape:connector-curvature="0"
id="path4510"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0" />
</g>
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
id="path4515"
inkscape:connector-curvature="0" />
<path
style="opacity:0;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.88409662;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
d="M 337.93429,709.57856 C 296.89192,643.4647 253.04213,559.75825 224.56378,493.16149 169.02633,363.28693 150.98282,261.65547 171.43146,193.88963 c 17.85082,-59.15679 63.46079,-91.47841 140.5528,-99.603084 18.9208,-1.99405 59.32433,-1.454544 76.00292,1.014862 39.34819,5.825832 68.23577,18.578332 90.1854,39.812612 24.26494,23.47411 37.34998,53.51175 41.79214,95.9368 1.66212,15.87412 0.62078,55.18407 -1.97069,74.39246 -8.32095,61.67631 -30.32711,134.63906 -65.29358,216.48475 -27.17115,63.59925 -62.56443,133.60819 -98.83369,195.49599 l -5.37188,9.16626 z M 371.31557,363.5705 c 36.53068,-9.90151 63.98456,-37.38746 74.2958,-74.38259 1.79997,-6.45804 2.09593,-10.10409 2.08367,-25.6698 -0.0133,-16.90069 -0.19678,-18.74682 -2.68044,-26.96878 -3.20885,-10.62265 -8.82689,-22.70649 -14.45592,-31.09326 -5.38533,-8.02366 -19.28666,-21.77757 -27.37092,-27.08066 -34.08777,-22.36081 -76.11623,-23.3159 -111.00595,-2.52262 -10.11271,6.02689 -26.29128,21.67942 -32.65532,31.59355 -23.67273,36.87822 -21.97547,83.81998 4.28637,118.54988 13.20331,17.46068 33.0271,30.99881 53.69352,36.66856 12.22891,3.35494 15.76908,3.73732 31.25349,3.37572 11.19408,-0.26141 16.58553,-0.85182 22.5557,-2.47 z"
id="path4517"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

View File

@ -0,0 +1,27 @@
@charset "UTF-8";
/* Variables for customizing colors */
:root{
--box-shadow-color: rgba(0,0,0,0.7); /*Window shadow color */
--header-color: #dadada; /*Table header color #505050*/
--back-color: #f1f1f1;/*Table body color #3a3a3a;*/
--back-color2: #d1d1d1;
--back-color3: #ffffff; /* #454555 (Color of text input fields) */
--main-font-color: #000000; /*The main text color is white or black. */
--inactive-font-color: #656565; /* The color of inactive text. #afafaf*/
--row-color-1: white;
--row-color-2: whitesmoke;
--text-color-1: #000000;
--back-color-1: #ffffff;
--back-color-2: #ffffff;
--back-color-3: #ffffff; /* TextEdit */
--path-grad: url('../resources/metadata/dbms/form/g_w.gif');
--path-X: url('../resources/metadata/dbms/form/x_b.gif');
}
table
{
font-size: 14px;
font-family: Arial;
}

Some files were not shown because too many files have changed in this diff Show More