Первый коммит
This commit is contained in:
2288
src/main/java/kz/locust/CCALM/AcceptASDC.java
Normal file
2288
src/main/java/kz/locust/CCALM/AcceptASDC.java
Normal file
File diff suppressed because it is too large
Load Diff
408
src/main/java/kz/locust/CCALM/AcceptEXCEL.java
Normal file
408
src/main/java/kz/locust/CCALM/AcceptEXCEL.java
Normal file
@ -0,0 +1,408 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
//import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
//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.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 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 ServletContext context;
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext context) {
|
||||
this.context=context;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/AcceptCSV", 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) {
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
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.equals("") || locust.district_id.equals("") || locust.terrain.equals("") || locust.locust_id.equals("")) {
|
||||
row="<tr bgcolor=\"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; //Дата
|
||||
|
||||
}
|
||||
}
|
||||
1740
src/main/java/kz/locust/CCALM/AcceptJSON.java
Normal file
1740
src/main/java/kz/locust/CCALM/AcceptJSON.java
Normal file
File diff suppressed because it is too large
Load Diff
2382
src/main/java/kz/locust/CCALM/DBMSRecords.java
Normal file
2382
src/main/java/kz/locust/CCALM/DBMSRecords.java
Normal file
File diff suppressed because it is too large
Load Diff
226
src/main/java/kz/locust/CCALM/DataJSON.java
Normal file
226
src/main/java/kz/locust/CCALM/DataJSON.java
Normal file
@ -0,0 +1,226 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.StringReader;
|
||||
import java.io.Reader;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
//import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.Random;
|
||||
import java.util.zip.CRC32;
|
||||
import java.util.zip.Checksum;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import javax.xml.xpath.XPath;
|
||||
import javax.xml.xpath.XPathConstants;
|
||||
import javax.xml.xpath.XPathExpression;
|
||||
import javax.xml.xpath.XPathExpressionException;
|
||||
import javax.xml.xpath.XPathFactory;
|
||||
|
||||
//import org.apache.commons.fileupload.FileItem;
|
||||
//import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
||||
//import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
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.multipart.MultipartFile;
|
||||
import org.w3c.dom.CharacterData;
|
||||
import org.w3c.dom.DOMException;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.w3c.dom.ls.DOMImplementationLS;
|
||||
import org.w3c.dom.ls.LSSerializer;
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
import tctable.Tools;
|
||||
import tools.EmailUtility;
|
||||
import tools.PreparedStatementNamed;
|
||||
import tools.User;
|
||||
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class DataJSON implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DataJSON.class);
|
||||
private ServletContext context;
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get_companies",method = {RequestMethod.POST,RequestMethod.GET}, produces = "application/json;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public String getCompanies(@ModelAttribute User user,@RequestParam(required=false,name="country_id") String country_id,@RequestParam(required=false,name="lng") String language_id) {
|
||||
|
||||
int errorCode=0;
|
||||
String errorMessage="";
|
||||
|
||||
//Load configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
errorCode=1;
|
||||
errorMessage+="Internal server error, settings.";
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
|
||||
try {
|
||||
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
stt0.executeUpdate("SET TIME ZONE 'UTC';");
|
||||
//stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';");
|
||||
stt0.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="Failed to execute SQL query!";
|
||||
}
|
||||
|
||||
JSONObject doc=null;
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select id,name from main.companies where del=false and name is not null and name!='' and (${country_id} is null or country_id=${country_id})";
|
||||
|
||||
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||
if(country_id==null || country_id.equals(""))
|
||||
stmtn.setNULLInt("country_id");
|
||||
else
|
||||
stmtn.setInt("country_id",Integer.parseInt(country_id));
|
||||
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||
|
||||
rs = stmt.executeQuery();
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("id", rs.getLong("id"));
|
||||
|
||||
if(rs.getObject("name")!=null)
|
||||
obj.put("name", rs.getString("name"));
|
||||
|
||||
array.put(obj);
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=4;
|
||||
errorMessage+="Internal server error, sampling.";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=5;
|
||||
errorMessage+="Internal server error, query. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorMessage", errorMessage);
|
||||
return obj.toString();
|
||||
}else {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",0);
|
||||
obj.put("errorMessage", "");
|
||||
if(doc!=null)
|
||||
obj.put("indicator",doc.getString("indicator"));
|
||||
obj.put("data",array);
|
||||
return obj.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
|
||||
}
|
||||
365
src/main/java/kz/locust/CCALM/DownloadNDVI.java
Normal file
365
src/main/java/kz/locust/CCALM/DownloadNDVI.java
Normal file
@ -0,0 +1,365 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
|
||||
import org.gdal.gdal.Band;
|
||||
import org.gdal.gdal.Dataset;
|
||||
import org.gdal.gdal.gdal;
|
||||
import org.gdal.gdalconst.gdalconstConstants;
|
||||
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
/*import ucar.ma2.Array;
|
||||
import ucar.nc2.Dimension;
|
||||
import ucar.nc2.Variable;
|
||||
import ucar.nc2.dataset.NetcdfDataset;*/
|
||||
|
||||
@Controller
|
||||
public class DownloadNDVI implements ServletContextAware {
|
||||
|
||||
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(DownloadNDVI.class);
|
||||
|
||||
private ServletContext context;
|
||||
|
||||
@RequestMapping(value = "/DownloadNDVI",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public Object ajaxTamer(@RequestParam(required=false,name="forecast") String forecast) {
|
||||
|
||||
|
||||
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||
//response.setContentType("text/html");
|
||||
//PrintWriter out = response.getWriter();
|
||||
String result="";
|
||||
result+="Start!<br>";
|
||||
|
||||
|
||||
//http://gis-lab.info/forum/viewtopic.php?style=1&t=15764
|
||||
gdal.AllRegister();
|
||||
Dataset dataset=gdal.Open("O:\\Desctop\\NDVI_from_HDF\\1\\MOD13Q1.A2019049.h27v12.006.2019073153055.hdf" , gdalconstConstants.GA_ReadOnly);
|
||||
Band o=(Band)dataset.GetRasterBand(1);
|
||||
long flen=o.getXSize()*o.getYSize();
|
||||
|
||||
result+=flen;
|
||||
|
||||
/*
|
||||
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||
|
||||
//Load DB configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
String data_dir = "";
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
data_dir = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
data_dir+="temp"+File.separator;
|
||||
|
||||
File dir = new File(data_dir);
|
||||
if (!dir.exists()) dir.mkdirs();
|
||||
|
||||
//response.getWriter().append("Served at: ").append(request.getContextPath());
|
||||
Connection conn = null;
|
||||
try{
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||
if(conn!=null)
|
||||
{
|
||||
logger.info("Connect is OK!");
|
||||
result+="Connect is OK!<br>";
|
||||
}else
|
||||
{
|
||||
logger.info("<br>Connect is ERROR<br>");
|
||||
result+="Connect is ERROR!<br>";
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
//Example request: http://localhost:8080/CCALM/DownloadWeather?forecast=000
|
||||
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
String date=dateFormat.format(new Date()); //Date like as "20170327".
|
||||
|
||||
String time = "00"; //00 hours,06 hours,12 hours and 18 hours
|
||||
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||
String measurement = "TSOIL:0-0.1 m below ground";
|
||||
//String measurement = "TSOIL:0.1-0.4 m below ground";
|
||||
|
||||
//Build URL to download
|
||||
String URL = "https://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs."+date+time+"/gfs.t"+time+"z.pgrb2.0p25.f"+forecast;
|
||||
|
||||
//URL = "http://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.2017091200/gfs.t00z.pgrb2.0p25.f000";
|
||||
|
||||
WeatherDownload wd = new WeatherDownload();
|
||||
if(wd.download(URL+".idx", data_dir+"text.idx", "0", ""))
|
||||
{
|
||||
result+="Download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||
|
||||
String strPos1="";
|
||||
String strPos2="";
|
||||
//Read file and find required line.
|
||||
try {
|
||||
BufferedReader br = new BufferedReader(new FileReader(data_dir+"text.idx"));
|
||||
String line;
|
||||
while ((line = br.readLine()) != null)
|
||||
{
|
||||
//if (line.contains("TSOIL:0-0.1 m below ground"))
|
||||
if (line.contains(measurement))
|
||||
{
|
||||
strPos1=line;
|
||||
strPos2=br.readLine();
|
||||
break;
|
||||
}
|
||||
}
|
||||
br.close();
|
||||
} catch (IOException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
result+=ex.getMessage()+"<br>";
|
||||
}
|
||||
if(!strPos1.equals(""))
|
||||
{
|
||||
//String strPos1 = "250:146339365:d=2017022818:TSOIL:0-0.1 m below ground:anl:"
|
||||
StringBuffer answer1=new StringBuffer(strPos1);
|
||||
CutBeforeFirst(answer1,":");
|
||||
String posStart = CutBeforeFirst(answer1,":");
|
||||
|
||||
StringBuffer answer2=new StringBuffer(strPos2);
|
||||
CutBeforeFirst(answer2,":");
|
||||
String posEnd = CutBeforeFirst(answer2,":");
|
||||
if(posEnd==null || posEnd.equals("")) posEnd=""; else
|
||||
{
|
||||
posEnd=String.valueOf(Long.parseLong(posEnd)-1);
|
||||
}
|
||||
|
||||
wd.download(URL, data_dir+"text.f000", String.valueOf(posStart), String.valueOf(posEnd));
|
||||
}
|
||||
}else
|
||||
{
|
||||
result+="Not download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||
}
|
||||
|
||||
Array dataArrayLat=null;
|
||||
Array dataArrayLon=null;
|
||||
Array dataArrayTmp=null;
|
||||
|
||||
try {
|
||||
// open netcdf/grib/grib2 file from argument
|
||||
NetcdfDataset gid = NetcdfDataset.openDataset(data_dir+"text.f000");
|
||||
|
||||
//logger.info("Desc: " + gid.getDescription());
|
||||
logger.info(gid.getDetailInfo());
|
||||
//logger.info("Feature type: " + gid.getFeatureType().toString());
|
||||
|
||||
// get all grid tables in the file
|
||||
List<Variable> variables = gid.getReferencedFile().getVariables();
|
||||
for (int i = 0; i < variables.size(); i++)
|
||||
{
|
||||
System.out.print(variables.get(i).getName()+" ");
|
||||
//LatLon_Projection, lat, lon, reftime, time, depth_below_surface_layer, depth_below_surface_layer_bounds, Soil_temperature_depth_below_surface_layer
|
||||
|
||||
if(variables.get(i).getName().equals("reftime"))
|
||||
{
|
||||
logger.info("");
|
||||
logger.info("Description = "+variables.get(i).getDescription());
|
||||
logger.info("DimensionsString = "+variables.get(i).getDimensionsString());
|
||||
logger.info("DataType = "+variables.get(i).getDataType());
|
||||
logger.info("UnitsString = "+variables.get(i).getUnitsString()); //Hour since 2017-02-28T18:00:00Z
|
||||
}
|
||||
|
||||
if(variables.get(i).getName().equals("lon"))
|
||||
{
|
||||
dataArrayLon = variables.get(i).read();
|
||||
}
|
||||
if(variables.get(i).getName().equals("lat"))
|
||||
{
|
||||
dataArrayLat = variables.get(i).read();
|
||||
}
|
||||
if(variables.get(i).getName().equals("Soil_temperature_depth_below_surface_layer"))
|
||||
{
|
||||
//Section sec=new Section();
|
||||
dataArrayTmp = variables.get(i).read();
|
||||
|
||||
//for(int j=0;j<dataArrayTmp.getSize();j++)
|
||||
//{
|
||||
// logger.info(j+") "+dataArrayTmp.getFloat(j)+",");
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("");
|
||||
List<Dimension> dims = gid.getDimensions();
|
||||
logger.info("dims.size() = " + dims.size());
|
||||
|
||||
Iterator<Dimension> dimIt = dims.iterator();
|
||||
while( dimIt.hasNext()) {
|
||||
Dimension dim = dimIt.next();
|
||||
logger.info("Dim = " + dim);
|
||||
logger.info("Dim name = "+dim.getName());
|
||||
}
|
||||
dimIt = null;
|
||||
|
||||
Statement st=null;
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
st.executeUpdate("BEGIN TRANSACTION;");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
result+="Size="+dataArrayLat.getSize()+"<br>";
|
||||
|
||||
int pos=0;
|
||||
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
||||
{
|
||||
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
||||
{
|
||||
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||
double lon = dataArrayLon.getFloat(nLon);
|
||||
if(lon>180) lon=lon-360;
|
||||
double lat = dataArrayLat.getFloat(nLat);
|
||||
|
||||
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
||||
{
|
||||
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
||||
{
|
||||
String country_id="";
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
rs = st.executeQuery("select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
if (rs != null) {
|
||||
try {
|
||||
if (rs.next())
|
||||
country_id=rs.getString(1);
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
||||
{
|
||||
//logger.info(lon + "," + lat +","+dataArrayTmp.getFloat(pos));
|
||||
try {
|
||||
//String sql="insert into weather(weather_type_id,date,hours,val,geom)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326));";
|
||||
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),(select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1));";
|
||||
String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),"+country_id+");";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
//Cut data pise for Russia
|
||||
try {
|
||||
//String sql="update weather w set country_id=null where country_id=7 and not ST_Contains((select geom from main.countriesregions where id=97),w.geom);";
|
||||
String sql="update main.weather w set country_id=null where country_id=7 and not ST_Contains(ST_SetSRID(ST_GeomFromText('POLYGON((10.00 66.00,10.00 40.00,179.00 40.00,179.00 66.00,10.00 66.00))'),4326),w.geom);";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Delete values where country_id is null
|
||||
try {
|
||||
String sql="delete from main.weather where country_id is null;";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Delete all old values
|
||||
try {
|
||||
String sql="delete from main.weather where date!=(select max(date) from main.weather limit 1);";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
st.executeUpdate("END TRANSACTION;");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
gid.close();
|
||||
} catch (IOException ex) {
|
||||
//Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
|
||||
System.out.print("ERROR!");
|
||||
}
|
||||
|
||||
try {conn.close();} catch (SQLException ex) {logger.info(ex.getMessage());}
|
||||
|
||||
result+="End!<br>";
|
||||
*/
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@Override
|
||||
public void setServletContext(ServletContext context) {
|
||||
this.context=context;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
470
src/main/java/kz/locust/CCALM/DownloadWeather.java
Normal file
470
src/main/java/kz/locust/CCALM/DownloadWeather.java
Normal file
@ -0,0 +1,470 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
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.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
//import main.DownloadFromHTTP;
|
||||
import kz.locust.CCALM.WeatherDownload;
|
||||
import ucar.ma2.Array;
|
||||
import ucar.nc2.Dimension;
|
||||
import ucar.nc2.Variable;
|
||||
import ucar.nc2.dataset.NetcdfDataset;
|
||||
|
||||
@Controller
|
||||
public class DownloadWeather implements ServletContextAware {
|
||||
|
||||
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(DownloadWeather.class);
|
||||
|
||||
private ServletContext context;
|
||||
|
||||
@RequestMapping(value = "/DownloadWeather",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public Object ajaxTamer(@RequestParam(required=false,name="forecast") String forecast,@RequestParam(required=false,name="date") String date) {
|
||||
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||
//response.setContentType("text/html");
|
||||
//PrintWriter out = response.getWriter();
|
||||
String result="";
|
||||
result+="Start!<br>";
|
||||
|
||||
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||
|
||||
//Load DB configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
String data_dir = "";
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
data_dir = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
data_dir+="temp"+File.separator;
|
||||
|
||||
File dir = new File(data_dir);
|
||||
if (!dir.exists()) dir.mkdirs();
|
||||
|
||||
//response.getWriter().append("Served at: ").append(request.getContextPath());
|
||||
Connection conn = null;
|
||||
try{
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||
if(conn!=null)
|
||||
{
|
||||
logger.info("Connect is OK!");
|
||||
result+="Connect is OK!<br>";
|
||||
}else
|
||||
{
|
||||
logger.info("<br>Connect is ERROR<br>");
|
||||
result+="Connect is ERROR!<br>";
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
//Example request: http://ccalm.org/DownloadWeather?forecast=000&date=20210531
|
||||
//Example request: http://localhost:8080/CCALM/DownloadWeather?forecast=000
|
||||
//Example request: http://127.0.0.1:8080/CCALM/DownloadWeather?forecast=000
|
||||
if(date==null || date.equals(""))
|
||||
{
|
||||
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
date=dateFormat.format(new Date()); //Date like as "20170327".
|
||||
}
|
||||
|
||||
String time = "00"; //00 hours,06 hours,12 hours and 18 hours
|
||||
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||
String measurement = "TSOIL:0-0.1 m below ground";
|
||||
//String measurement = "TSOIL:0.1-0.4 m below ground";
|
||||
|
||||
//Build URL to download
|
||||
String URL = "https://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs."+date+"/"+time+"/atmos/gfs.t"+time+"z.pgrb2.0p25.f"+forecast;
|
||||
|
||||
File f = new File(data_dir+"text.idx");
|
||||
if(f.exists()) {
|
||||
if (!f.delete()) {
|
||||
System.out.println("Failed to delete the file.");
|
||||
}
|
||||
}
|
||||
|
||||
WeatherDownload wd = new WeatherDownload();
|
||||
if(wd.download(URL+".idx", data_dir+"text.idx", "0", ""))
|
||||
{
|
||||
result+="Download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||
|
||||
String strPos1="";
|
||||
String strPos2="";
|
||||
//Read file and find required line.
|
||||
try {
|
||||
BufferedReader br = new BufferedReader(new FileReader(data_dir+"text.idx"));
|
||||
String line;
|
||||
while ((line = br.readLine()) != null)
|
||||
{
|
||||
//if (line.contains("TSOIL:0-0.1 m below ground"))
|
||||
if (line.contains(measurement))
|
||||
{
|
||||
strPos1=line;
|
||||
strPos2=br.readLine();
|
||||
break;
|
||||
}
|
||||
}
|
||||
br.close();
|
||||
} catch (IOException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
result+=ex.getMessage()+"<br>";
|
||||
}
|
||||
if(!strPos1.equals(""))
|
||||
{
|
||||
//String strPos1 = "250:146339365:d=2017022818:TSOIL:0-0.1 m below ground:anl:"
|
||||
StringBuffer answer1=new StringBuffer(strPos1);
|
||||
CutBeforeFirst(answer1,":");
|
||||
String posStart = CutBeforeFirst(answer1,":");
|
||||
|
||||
StringBuffer answer2=new StringBuffer(strPos2);
|
||||
CutBeforeFirst(answer2,":");
|
||||
String posEnd = CutBeforeFirst(answer2,":");
|
||||
if(posEnd==null || posEnd.equals("")) posEnd=""; else
|
||||
{
|
||||
posEnd=String.valueOf(Long.parseLong(posEnd)-1);
|
||||
}
|
||||
|
||||
wd.download(URL, data_dir+"text.f000", String.valueOf(posStart), String.valueOf(posEnd));
|
||||
}
|
||||
}else
|
||||
{
|
||||
result+="Not download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||
}
|
||||
|
||||
Array dataArrayLat=null;
|
||||
Array dataArrayLon=null;
|
||||
Array dataArrayTmp=null;
|
||||
|
||||
try {
|
||||
// open netcdf/grib/grib2 file from argument
|
||||
NetcdfDataset gid = NetcdfDataset.openDataset(data_dir+"text.f000");
|
||||
|
||||
//logger.info("Desc: " + gid.getDescription());
|
||||
logger.info(gid.getDetailInfo());
|
||||
//logger.info("Feature type: " + gid.getFeatureType().toString());
|
||||
|
||||
// get all grid tables in the file
|
||||
List<Variable> variables = gid.getReferencedFile().getVariables();
|
||||
for (int i = 0; i < variables.size(); i++)
|
||||
{
|
||||
System.out.print(variables.get(i).getName()+" ");
|
||||
//LatLon_Projection, lat, lon, reftime, time, depth_below_surface_layer, depth_below_surface_layer_bounds, Soil_temperature_depth_below_surface_layer
|
||||
|
||||
if(variables.get(i).getName().equals("reftime"))
|
||||
{
|
||||
logger.info("");
|
||||
logger.info("Description = "+variables.get(i).getDescription());
|
||||
logger.info("DimensionsString = "+variables.get(i).getDimensionsString());
|
||||
logger.info("DataType = "+variables.get(i).getDataType());
|
||||
logger.info("UnitsString = "+variables.get(i).getUnitsString()); //Hour since 2017-02-28T18:00:00Z
|
||||
}
|
||||
|
||||
if(variables.get(i).getName().equals("lon"))
|
||||
{
|
||||
dataArrayLon = variables.get(i).read();
|
||||
}
|
||||
if(variables.get(i).getName().equals("lat"))
|
||||
{
|
||||
dataArrayLat = variables.get(i).read();
|
||||
}
|
||||
if(variables.get(i).getName().equals("Soil_temperature_depth_below_surface_layer"))
|
||||
{
|
||||
//Section sec=new Section();
|
||||
dataArrayTmp = variables.get(i).read();
|
||||
|
||||
/*for(int j=0;j<dataArrayTmp.getSize();j++)
|
||||
{
|
||||
logger.info(j+") "+dataArrayTmp.getFloat(j)+",");
|
||||
}*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("");
|
||||
List<Dimension> dims = gid.getDimensions();
|
||||
logger.info("dims.size() = " + dims.size());
|
||||
|
||||
Iterator<Dimension> dimIt = dims.iterator();
|
||||
while( dimIt.hasNext()) {
|
||||
Dimension dim = dimIt.next();
|
||||
logger.info("Dim = " + dim);
|
||||
logger.info("Dim name = "+dim.getName());
|
||||
}
|
||||
dimIt = null;
|
||||
|
||||
Statement st=null;
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
st.executeUpdate("BEGIN TRANSACTION;");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
result+="Size="+dataArrayLat.getSize()+"<br>";
|
||||
|
||||
int pos=0;
|
||||
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
||||
{
|
||||
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
||||
{
|
||||
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||
double lon = dataArrayLon.getFloat(nLon);
|
||||
if(lon>180) lon=lon-360;
|
||||
double lat = dataArrayLat.getFloat(nLat);
|
||||
|
||||
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
||||
{
|
||||
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
||||
{
|
||||
String country_id="";
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
rs = st.executeQuery("select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
if (rs != null) {
|
||||
try {
|
||||
if (rs.next())
|
||||
country_id=rs.getString(1);
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
||||
{
|
||||
//logger.info(lon + "," + lat +","+dataArrayTmp.getFloat(pos));
|
||||
try {
|
||||
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326));";
|
||||
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),(select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1));";
|
||||
String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),"+country_id+");";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
//Cut data piece from big country of Russia
|
||||
try {
|
||||
//String sql="update weather w set country_id=null where country_id=7 and not ST_Contains((select geom from main.countriesregions where id=97),w.geom);";
|
||||
String sql="update main.weather w set country_id=null where country_id=7 and not ST_Contains(ST_SetSRID(ST_GeomFromText('POLYGON((10.00 66.00,10.00 40.00,179.00 40.00,179.00 66.00,10.00 66.00))'),4326),w.geom);";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Delete values where country_id is null
|
||||
try {
|
||||
String sql="delete from main.weather where country_id is null;";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Delete all old values аnd not a multiple of 10.
|
||||
try {
|
||||
String sql="delete from main.weather where date!=(select max(date) from main.weather limit 1) and ((DATE_PART('doy',date)::INTEGER-1)%10!=0 or ((DATE_PART('doy',date)::INTEGER-1)%10=0 and hours=48));";
|
||||
st.executeUpdate(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
st.executeUpdate("END TRANSACTION;");
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
gid.close();
|
||||
} catch (IOException ex) {
|
||||
//Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
|
||||
System.out.print("ERROR!");
|
||||
}
|
||||
|
||||
try {conn.close();} catch (SQLException ex) {logger.info(ex.getMessage());}
|
||||
|
||||
result+="End!<br>";
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@Override
|
||||
public void setServletContext(ServletContext context) {
|
||||
this.context=context;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
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;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
//List of "Soil temperature" dates from database in JSON
|
||||
@RequestMapping(value = "/WeatherSoilDates",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public Object ajaxSoilDates() {
|
||||
boolean error=false;
|
||||
String result="";
|
||||
|
||||
//Load DB configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
error=true;
|
||||
result="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
error=true;
|
||||
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(!error)
|
||||
{
|
||||
Statement st;
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
String sql = "SELECT to_char(date, 'YYYY-MM-DD') as date,hours as hour,DATE_PART('doy',date)-1 as day FROM main.weather group by date,hours order by date,hours";
|
||||
ResultSet rs = st.executeQuery(sql);
|
||||
if(rs!=null)
|
||||
{
|
||||
boolean exists=false;
|
||||
result="[";
|
||||
while (rs.next())
|
||||
{
|
||||
exists=true;
|
||||
try {
|
||||
result+= "{\"num\":\""+rs.getString("day")+"\", \"hour\":\""+rs.getString("hour")+"\", \"date\":\""+rs.getString("date")+"\"},";
|
||||
} catch( Exception ex )
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
if(exists) {
|
||||
result=result.substring(0, result.length()-1);
|
||||
result+="]";
|
||||
}else {
|
||||
result="[]";
|
||||
}
|
||||
|
||||
}
|
||||
st.close();
|
||||
conn.close();
|
||||
} catch (SQLException ex) {
|
||||
result="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
278
src/main/java/kz/locust/CCALM/GeoGSON.java
Normal file
278
src/main/java/kz/locust/CCALM/GeoGSON.java
Normal file
@ -0,0 +1,278 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tctable.TCField;
|
||||
import tctable.TCTable;
|
||||
|
||||
@Controller
|
||||
public class GeoGSON implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GeoGSON.class);
|
||||
private ServletContext context;
|
||||
|
||||
@RequestMapping(value = "/geojson", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public Object home(HttpServletResponse response,@RequestParam(required=false,name="table") String table,@RequestParam(required=false,name="id") String id)
|
||||
{
|
||||
boolean error=false;
|
||||
String result="";
|
||||
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
error=true;
|
||||
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
error=true;
|
||||
result="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
error=true;
|
||||
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(!error)
|
||||
{
|
||||
Statement st;
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
String sql="select id,name,ST_AsGeoJSON(geom,3,0) as geom from main."+table+" where id="+id+";";
|
||||
ResultSet rs = st.executeQuery(sql);
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
String geom=null;
|
||||
try {
|
||||
geom=rs.getString("geom");
|
||||
} catch( Exception ex )
|
||||
{
|
||||
result="<metadata fn=\"-1\"><![CDATA[SQLException: "+ex.getMessage()+"]]></metadata>";
|
||||
}
|
||||
if(geom==null) geom="";
|
||||
result=geom;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
conn.close();
|
||||
} catch (SQLException ex) {
|
||||
result="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext context) {
|
||||
this.context=context;
|
||||
}
|
||||
|
||||
|
||||
//For compilatin android project
|
||||
//http://127.0.0.1:8080/CCALM/countriesregionspoints
|
||||
@RequestMapping(value = "/countriesregionspoints", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public Object countriesregions(HttpServletResponse response)
|
||||
{
|
||||
boolean error=false;
|
||||
String result="OK<br>";
|
||||
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
String data_dir = "";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
|
||||
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
data_dir = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
error=true;
|
||||
result+="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
error=true;
|
||||
result+="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
error=true;
|
||||
result+="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(!error)
|
||||
{
|
||||
Statement st,stC;
|
||||
//Каждую геозонку области записываю в отдельный файл
|
||||
String sql="select id from main.countriesregions where del=false";
|
||||
try {
|
||||
stC = conn.createStatement();
|
||||
ResultSet rsC = stC.executeQuery(sql);
|
||||
if(rsC!=null)
|
||||
{
|
||||
while (rsC.next())
|
||||
{
|
||||
sql="";
|
||||
//sql+=" select t1.id as country_region_id,(ST_DumpPoints(geom)).path[1] as pos,cast(ST_X((ST_DumpPoints(geom)).geom) as real) lon,cast(ST_Y((ST_DumpPoints(geom)).geom) as real) lat from";
|
||||
sql+=" select cast(ST_X((ST_DumpPoints(geom)).geom) as real) lon,cast(ST_Y((ST_DumpPoints(geom)).geom) as real) lat from";
|
||||
sql+=" (";
|
||||
sql+=" select id,name,ST_Area(t.gone) area,ST_ExteriorRing(gone) as geom from";
|
||||
sql+=" (select id,name,ST_NumGeometries(geom),(ST_Dump(geom)).geom gone from main.countriesregions where del=false and id="+rsC.getString("id")+") t";
|
||||
sql+=" )t1";
|
||||
sql+=" ,";
|
||||
sql+=" (select id,max(ST_Area(t.gone)) area from";
|
||||
sql+=" (select id,name,ST_NumGeometries(geom),(ST_Dump(geom)).geom gone from main.countriesregions where del=false and id="+rsC.getString("id")+") t";
|
||||
sql+=" group by id) t2";
|
||||
sql+=" where";
|
||||
sql+=" t1.id=t2.id";
|
||||
sql+=" and t1.area=t2.area";
|
||||
|
||||
st = conn.createStatement();
|
||||
ResultSet rs = st.executeQuery(sql);
|
||||
|
||||
try {
|
||||
if(rs!=null)
|
||||
{
|
||||
File targetFile = new File(data_dir+"region_"+rsC.getString("id")+".tbl"); //Андроид не разрешает ресурсы с циферки
|
||||
OutputStream outStream = new FileOutputStream(targetFile);
|
||||
|
||||
|
||||
TCTable tbl=new TCTable("crcountriesregionspoints",123456);
|
||||
logger.info("countriesregionspoints");
|
||||
|
||||
ResultSetMetaData rsmd = rs.getMetaData();
|
||||
for(int i=1;i<=rsmd.getColumnCount();i++)
|
||||
{
|
||||
logger.info(i+") name="+rsmd.getColumnName(i)+" type="+rsmd.getColumnTypeName(i));
|
||||
|
||||
TCField field=new TCField(rsmd.getColumnName(i), rsmd.getColumnTypeName(i));
|
||||
tbl.addField(field);
|
||||
}
|
||||
|
||||
tbl.getHeader(outStream);
|
||||
while (rs.next())
|
||||
{
|
||||
for(int i=1;i<=rsmd.getColumnCount();i++)
|
||||
{
|
||||
if(!rsmd.getColumnTypeName(i).equals("geometry"))
|
||||
tbl.fields.get(i-1).setValue(rs.getString(i));
|
||||
else
|
||||
tbl.fields.get(i-1).setValue(null);
|
||||
}
|
||||
//Save binary data to stream
|
||||
tbl.getCol(outStream);
|
||||
}
|
||||
|
||||
outStream.flush();
|
||||
outStream.close();
|
||||
}
|
||||
rs.close();
|
||||
st.close();
|
||||
|
||||
//response.getOutputStream();
|
||||
//response.flushBuffer();
|
||||
|
||||
} catch (IOException ex) {
|
||||
result+="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
rsC.close();
|
||||
stC.close();
|
||||
conn.close();
|
||||
|
||||
} catch (SQLException ex) {
|
||||
// TODO Auto-generated catch block
|
||||
result+="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
774
src/main/java/kz/locust/CCALM/Integration.java
Normal file
774
src/main/java/kz/locust/CCALM/Integration.java
Normal file
@ -0,0 +1,774 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import java.util.Base64;
|
||||
import java.nio.file.Files;
|
||||
import tctable.Tools;
|
||||
|
||||
@Controller
|
||||
public class Integration implements ServletContextAware {
|
||||
|
||||
private static final int BUFFER_SIZE = 4096;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Integration.class);
|
||||
private ServletContext context;
|
||||
|
||||
@RequestMapping(value = "/integration/getByTime", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||
@ResponseBody
|
||||
public Object getByTime(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="timeBegin") String timeBegin,@RequestParam(required=false,name="timeEnd") String timeEnd,@RequestParam(required=false,name="type") String type)
|
||||
{
|
||||
if(type!=null && type.equals("del"))
|
||||
return getDataDel(token,timeBegin,timeEnd,null,null);
|
||||
else
|
||||
return getData(token,timeBegin,timeEnd,null,null);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/integration/getByDate", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||
@ResponseBody
|
||||
public Object getByDate(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="dateBegin") String dateBegin,@RequestParam(required=false,name="dateEnd") String dateEnd,@RequestParam(required=false,name="type") String type)
|
||||
{
|
||||
if(type!=null && type.equals("del"))
|
||||
return getDataDel(token,null,null,dateBegin,dateEnd);
|
||||
else
|
||||
return getData(token,null,null,dateBegin,dateEnd);
|
||||
}
|
||||
|
||||
//Prepare data for sending to integration servers.
|
||||
String getData(String token, String timeBegin,String timeEnd,String dateBegin,String dateEnd) {
|
||||
|
||||
int errorCode=0;
|
||||
String errorCodeDescription="";
|
||||
if(!(
|
||||
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Kazahstan
|
||||
)) { //Access only for Russians
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",1);
|
||||
obj.put("errorCodeDescription", "Token is not correct!");
|
||||
return obj.toString();
|
||||
}
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
errorCode=2;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
} catch (Exception ex) {
|
||||
errorCode=3;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select * from main.integration_1(1,?::bigint,?::bigint,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp);";
|
||||
|
||||
//String timeBegin,String timeEnd,String dateBegin,String dateEnd
|
||||
PreparedStatement stmt=null;
|
||||
stmt = conn.prepareStatement(sql_query);
|
||||
stmt.setString(1,timeBegin);
|
||||
stmt.setString(2,timeEnd);
|
||||
stmt.setString(3,dateBegin);
|
||||
stmt.setString(4,dateEnd);
|
||||
//stmt.execute();
|
||||
|
||||
rs = stmt.executeQuery();
|
||||
//rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("id", rs.getLong("id"));
|
||||
obj.put("seq", rs.getLong("seq"));
|
||||
obj.put("country_name", rs.getString("country_name")); //Страна
|
||||
obj.put("region_name", rs.getString("region_name")); //Область
|
||||
obj.put("town_name", rs.getString("town_name")); //Район
|
||||
obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||
obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||
|
||||
|
||||
int cnt1=0;
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) cnt1++;
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) cnt1++;
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) cnt1++;
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) cnt1++;
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) cnt1++;
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) cnt1++;
|
||||
boolean point=cnt1<=2;
|
||||
|
||||
JSONObject geom = new JSONObject();
|
||||
if(point) {
|
||||
geom.put("type","Point");
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdSub.put(rs.getDouble("lon1"));
|
||||
crdSub.put(rs.getDouble("lat1"));
|
||||
geom.put("coordinates", crdSub);
|
||||
}else {
|
||||
geom.put("type","Polygon");
|
||||
JSONArray crdMain=new JSONArray();
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdMain.put(crdSub);
|
||||
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon1"));
|
||||
crd.put(rs.getDouble("lat1"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon2"));
|
||||
crd.put(rs.getDouble("lat2"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon3"));
|
||||
crd.put(rs.getDouble("lat3"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon4"));
|
||||
crd.put(rs.getDouble("lat4"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon5"));
|
||||
crd.put(rs.getDouble("lat5"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon6"));
|
||||
crd.put(rs.getDouble("lat6"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
geom.put("coordinates", crdMain);
|
||||
}
|
||||
obj.put("geom", geom);
|
||||
|
||||
//Экологическая информация
|
||||
obj.put("biotope_type", rs.getString("biotope_type"));
|
||||
obj.put("vegetation", rs.getString("vegetation"));
|
||||
obj.put("vegetation_cover", rs.getString("vegetation_cover"));
|
||||
obj.put("air_temperature", rs.getString("air_temperature"));
|
||||
obj.put("wind_speed", rs.getString("wind_speed"));
|
||||
|
||||
//Информация о саранче в том числе кубышки
|
||||
obj.put("subject_name", rs.getString("subject_name")); //Вид саранчи
|
||||
obj.put("infested_area", rs.getDouble("infested_area"));//Зараженная область га
|
||||
|
||||
// Eggs
|
||||
obj.put("eggs_bed_area", rs.getDouble("egg_bed_area")); // numeric, --Залежь кубышек
|
||||
obj.put("eggs_pods_density_from_m2", rs.getDouble("egg_pods_density_from_m2")); // numeric, --Плотность кубышек м2 с
|
||||
obj.put("eggs_pods_density_to_m2", rs.getDouble("egg_pods_density_to_m2")); // numeric, --Плотность кубышек м2 до
|
||||
obj.put("eggs_average_number_egg_pod", rs.getDouble("eggs_average_number_egg_pod")); // numeric, --Яйца в среднем в кубышке
|
||||
obj.put("eggs_viable", rs.getDouble("eggs_viable")); // numeric, --Яйца (% жизнеспособных)
|
||||
obj.put("eggs_natural_enemies", rs.getString("eggs_natural_enemies")); // character varying, --Естественные враги
|
||||
|
||||
// Hoppers (scattered) Личинки (разряженные)
|
||||
obj.put("hoppers_hatching", rs.getString("hoppers_hatching")); // character varying, --Отрождение
|
||||
obj.put("hoppers_stages", rs.getString("hoppers_stages")); // character varying, --Возраст личинок
|
||||
obj.put("hoppers_appearance", rs.getString("hoppers_appearance")); // character varying, --Фаза
|
||||
obj.put("hoppers_spatial_distribution", rs.getString("hoppers_spatial_distribution")); // character varying, --Пространственное распределени е
|
||||
obj.put("hoppers_density_from_m2", rs.getDouble("hoppers_density_from_m2")); // numeric, --Плотность личинок от м2
|
||||
obj.put("hoppers_density_to_m2", rs.getDouble("hoppers_density_to_m2")); // numeric, --Плотность личинок до м2
|
||||
|
||||
// Bands Кулиги
|
||||
obj.put("bands_density_from_m2", rs.getDouble("bands_density_from_m2")); // numeric, --Плотность минимальная в кулиге м2
|
||||
obj.put("bands_density_to_m2", rs.getDouble("bands_density_to_m2")); // numeric, --Плотность максимальная в кулиге м2
|
||||
obj.put("bands_sizes_m2", rs.getDouble("bands_sizes_m2")); // numeric, --Размер кулиг М2
|
||||
obj.put("bands_number_in_ha", rs.getDouble("bands_number_in_ha")); // numeric, --Количество кулиг Га
|
||||
obj.put("bands_behavior", rs.getString("bands_behavior")); // character varying, -- Поведение
|
||||
obj.put("bands_stages", rs.getString("bands_stages")); // character varying, -- Возраст личинок
|
||||
|
||||
// Adults Имаго
|
||||
obj.put("adults_fledging", rs.getString("adults_fledging")); // character varying, -- Окрыление
|
||||
obj.put("adults_maturity", rs.getBoolean("adults_maturity")); // boolean, -- Половозрелость
|
||||
obj.put("adults_phase", rs.getString("adults_phase")); // character varying, --Фаза
|
||||
obj.put("adults_spatial_distribution", rs.getString("adults_spatial_distribution")); // character varying, --Пространственное распределение
|
||||
obj.put("adults_density_ha", rs.getDouble("adults_density_ha")); // numeric, --Плотность имаго га
|
||||
obj.put("adults_density_m2", rs.getDouble("adults_density_m2")); // numeric, --Плотность имаго м2
|
||||
obj.put("adults_roosting", rs.getBoolean("adults_roosting")); // boolean, --Питпние и размещение на растениях
|
||||
obj.put("adults_copulation", rs.getBoolean("adults_copulation")); // boolean, --Спаривание
|
||||
obj.put("adults_laying", rs.getBoolean("adults_laying")); // boolean, --Яйцекладка
|
||||
obj.put("adults_flying", rs.getBoolean("adults_flying")); // boolean, --Полёты
|
||||
|
||||
// Swarms Стаи
|
||||
obj.put("swarms_maturity", rs.getBoolean("swarms_maturity")); // boolean, --Половозрелость
|
||||
obj.put("swarms_density", rs.getString("swarms_density")); // character varying, --Плотность в стае
|
||||
obj.put("swarms_size", rs.getDouble("swarms_size")); // numeric, --Размер стаи га
|
||||
obj.put("swarms_count", rs.getDouble("swarms_count")); // numeric, --Число стай
|
||||
obj.put("swarms_flying_direction", rs.getString("swarms_flying_direction")); // character varying, --Направление полёта
|
||||
obj.put("swarms_height", rs.getString("swarms_height")); // character varying, --Высота полёта
|
||||
|
||||
// Comment
|
||||
obj.put("description", rs.getString("description"));
|
||||
|
||||
//{"type":"Polygon","coordinates":[[[38.513140949068344,46.51316246698309],[38.51303118002319,46.5020304054714],[38.52109926473999,46.50204517540462],[38.521123203096664,46.513073865446586],[38.513140949068344,46.51316246698309]]]}
|
||||
|
||||
array.put(obj);
|
||||
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=4;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, выборка. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=5;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorCodeDescription", errorCodeDescription);
|
||||
return obj.toString();
|
||||
}else {
|
||||
return array.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Prepare data for sending to integration servers.
|
||||
String getDataDel(String token, String timeBegin,String timeEnd,String dateBegin,String dateEnd) {
|
||||
int errorCode=0;
|
||||
String errorCodeDescription="";
|
||||
if(!(
|
||||
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Kzahstan
|
||||
)) { //Access only for Russians
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",1);
|
||||
obj.put("errorCodeDescription", "Token is not correct!");
|
||||
return obj.toString();
|
||||
}
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
errorCode=2;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
} catch (Exception ex) {
|
||||
errorCode=3;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select * from main.integration_2(1,?::bigint,?::bigint,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp);";
|
||||
|
||||
//String timeBegin,String timeEnd,String dateBegin,String dateEnd
|
||||
PreparedStatement stmt=null;
|
||||
stmt = conn.prepareStatement(sql_query);
|
||||
stmt.setString(1,timeBegin);
|
||||
stmt.setString(2,timeEnd);
|
||||
stmt.setString(3,dateBegin);
|
||||
stmt.setString(4,dateEnd);
|
||||
//stmt.execute();
|
||||
|
||||
rs = stmt.executeQuery();
|
||||
//rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("id", rs.getLong("id"));
|
||||
obj.put("seq", rs.getLong("seq"));
|
||||
obj.put("country_name", rs.getString("country_name")); //Страна
|
||||
obj.put("region_name", rs.getString("region_name")); //Область
|
||||
obj.put("town_name", rs.getString("town_name")); //Район
|
||||
obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||
//obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||
|
||||
int cnt1=0;
|
||||
//lat_center
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) cnt1++;
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) cnt1++;
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) cnt1++;
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) cnt1++;
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) cnt1++;
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) cnt1++;
|
||||
boolean point=cnt1<=2;
|
||||
|
||||
JSONObject geom = new JSONObject();
|
||||
if(point) {
|
||||
geom.put("type","Point");
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdSub.put(rs.getDouble("lon_center"));
|
||||
crdSub.put(rs.getDouble("lat_center"));
|
||||
geom.put("coordinates", crdSub);
|
||||
}else {
|
||||
geom.put("type","Polygon");
|
||||
JSONArray crdMain=new JSONArray();
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdMain.put(crdSub);
|
||||
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon1"));
|
||||
crd.put(rs.getDouble("lat1"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon2"));
|
||||
crd.put(rs.getDouble("lat2"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon3"));
|
||||
crd.put(rs.getDouble("lat3"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon4"));
|
||||
crd.put(rs.getDouble("lat4"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon5"));
|
||||
crd.put(rs.getDouble("lat5"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon6"));
|
||||
crd.put(rs.getDouble("lat6"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
geom.put("coordinates", crdMain);
|
||||
}
|
||||
obj.put("geom", geom);
|
||||
|
||||
obj.put("infested_area", rs.getDouble("infested_area")); //double precision,
|
||||
obj.put("treated_area", rs.getDouble("treated_area")); //numeric,
|
||||
|
||||
obj.put("district", rs.getString("district")); //character varying,
|
||||
obj.put("village", rs.getString("village")); //character varying,
|
||||
obj.put("terrain", rs.getString("terrain")); //character varying,
|
||||
obj.put("observer", rs.getString("observer")); //character varying,
|
||||
|
||||
obj.put("vegetation_type_name", rs.getString("vegetation_type_name")); //character varying,
|
||||
obj.put("vegetation_height", rs.getDouble("vegetation_height")); //real,
|
||||
obj.put("vegetation_cover_name", rs.getString("vegetation_cover_name")); //character varying,
|
||||
obj.put("vegetation_crop", rs.getString("vegetation_crop")); //character varying,
|
||||
obj.put("vegetation_damage_name", rs.getString("vegetation_damage_name")); //character varying,
|
||||
obj.put("vegetation_damage_area", rs.getDouble("vegetation_damage_area")); //double precision,
|
||||
|
||||
obj.put("insecticide_name", rs.getString("insecticide_name")); //character varying,
|
||||
obj.put("insecticide_active_substance", rs.getString("insecticide_active_substance")); //character varying,
|
||||
obj.put("insecticide_concentration", rs.getString("insecticide_concentration")); //character varying,
|
||||
obj.put("insecticide_formulation_name", rs.getString("insecticide_formulation_name")); //character varying,
|
||||
obj.put("insecticide_dose", rs.getDouble("insecticide_dose")); //numeric,
|
||||
obj.put("insecticide_rate", rs.getDouble("insecticide_rate")); //numeric,
|
||||
obj.put("insecticide_used_volume", rs.getDouble("insecticide_used_volume")); //numeric,
|
||||
obj.put("insecticide_number_spores", rs.getDouble("insecticide_number_spores")); //numeric,
|
||||
|
||||
obj.put("weather_time_start", rs.getDouble("weather_time_start")); //real,
|
||||
obj.put("weather_time_end", rs.getDouble("weather_time_end")); //real,
|
||||
obj.put("weather_temperature_start", rs.getDouble("weather_temperature_start")); //real,
|
||||
obj.put("weather_temperature_end", rs.getDouble("weather_temperature_end")); //real,
|
||||
obj.put("weather_humidity_start", rs.getDouble("weather_humidity_start")); //real,
|
||||
obj.put("weather_humidity_end", rs.getDouble("weather_humidity_end")); //real,
|
||||
obj.put("weather_wind_speed_start", rs.getDouble("weather_wind_speed_start")); //real,
|
||||
obj.put("weather_wind_speed_end", rs.getDouble("weather_wind_speed_end")); //real,
|
||||
obj.put("weather_direction_start", rs.getString("weather_direction_start")); //character varying,
|
||||
obj.put("weather_direction_end", rs.getString("weather_direction_end")); //character varying,
|
||||
obj.put("weather_spray_direction_start", rs.getString("weather_spray_direction_start")); //character varying,
|
||||
obj.put("weather_spray_direction_end", rs.getString("weather_spray_direction_end")); //character varying,
|
||||
|
||||
obj.put("subject_name", rs.getString("subject_name")); //character varying,
|
||||
obj.put("locust_hoppers_name", rs.getString("locust_hoppers_name")); //character varying,
|
||||
obj.put("locust_imago", rs.getBoolean("locust_imago")); //boolean,
|
||||
obj.put("locust_density", rs.getDouble("locust_density")); //real,
|
||||
obj.put("locust_kuliguli", rs.getBoolean("locust_kuliguli")); //boolean,
|
||||
obj.put("locust_swarm", rs.getBoolean("locust_swarm")); //boolean,
|
||||
obj.put("locust_sparse", rs.getBoolean("locust_sparse")); //boolean,
|
||||
obj.put("locust_phase_name", rs.getString("locust_phase_name")); //character varying,
|
||||
|
||||
obj.put("spray_platform_name", rs.getString("spray_platform_name")); //character varying,
|
||||
obj.put("spray_platform_a_name", rs.getString("spray_platform_a_name")); //character varying,
|
||||
obj.put("spray_platform_g_name", rs.getString("spray_platform_g_name")); //character varying,
|
||||
obj.put("spray_platform_h_name", rs.getString("spray_platform_h_name")); //character varying,
|
||||
obj.put("spray_capacity_name", rs.getString("spray_capacity_name")); //character varying,
|
||||
obj.put("spray_manufacturer_name", rs.getString("spray_manufacturer_name")); //character varying,
|
||||
obj.put("spray_model_name", rs.getString("spray_model_name")); //character varying,
|
||||
obj.put("spray_height", rs.getDouble("spray_height")); //numeric,
|
||||
obj.put("spray_barrier", rs.getBoolean("spray_barrier")); //boolean,
|
||||
obj.put("spray_barrier_width", rs.getDouble("spray_barrier_width")); //real,
|
||||
obj.put("spray_barrier_space", rs.getDouble("spray_barrier_space")); //real,
|
||||
obj.put("spray_speed", rs.getDouble("spray_speed")); //numeric,
|
||||
obj.put("spray_gps", rs.getBoolean("spray_gps")); //boolean,
|
||||
obj.put("spray_marking_name", rs.getString("spray_marking_name")); //character varying,
|
||||
|
||||
obj.put("efficacy_mortality", rs.getDouble("efficacy_mortality")); //real,
|
||||
obj.put("efficacy_passed_time", rs.getDouble("efficacy_passed_time")); //numeric,
|
||||
obj.put("efficacy_mortality_method_name", rs.getString("efficacy_mortality_method_name")); //character varying,
|
||||
obj.put("safety_clothing", rs.getString("safety_clothing")); //text,
|
||||
obj.put("safety_clothing_clean", rs.getBoolean("safety_clothing_clean")); //boolean,
|
||||
obj.put("safety_operator_health", rs.getBoolean("safety_operator_health")); //boolean,
|
||||
obj.put("description", rs.getString("description")); //character varying,
|
||||
|
||||
obj.put("safety_inform", rs.getString("safety_inform")); //text,
|
||||
obj.put("safety_container_name", rs.getString("safety_container_name")); //text,
|
||||
obj.put("safety_non_target", rs.getBoolean("safety_non_target")); //boolean,
|
||||
obj.put("safety_non_target_effect", rs.getString("safety_non_target_effect")); //character varying,
|
||||
obj.put("safety_incident", rs.getBoolean("safety_incident")); //boolean,
|
||||
obj.put("safety_incident_effect", rs.getString("safety_incident_effect")); //character varying,
|
||||
obj.put("comments", rs.getString("comments")); //character varying
|
||||
|
||||
array.put(obj);
|
||||
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=4;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, выборка. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=5;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorCodeDescription", errorCodeDescription);
|
||||
return obj.toString();
|
||||
}else {
|
||||
return array.toString();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "/integration/getPhoto", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||
@ResponseBody
|
||||
public Object getPhoto(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="id") Long id)
|
||||
{
|
||||
int errorCode=0;
|
||||
String errorCodeDescription="";
|
||||
if(!(
|
||||
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Казахстан
|
||||
)) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",1);
|
||||
obj.put("errorCodeDescription", "Token is not correct!");
|
||||
return obj.toString();
|
||||
}
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
String data_dir = "";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
data_dir = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
errorCode=2;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
} catch (Exception ex) {
|
||||
errorCode=3;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String image_name1=null,image_name2=null,image_name3=null;
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select id,image_name1,image_name2,image_name3 from main.frmlocust where id="+String.valueOf(id);
|
||||
rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
image_name1=rs.getString("image_name1");
|
||||
image_name2=rs.getString("image_name2");
|
||||
image_name3=rs.getString("image_name3");
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=3;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера (поля). ";
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=3;
|
||||
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||
ex.printStackTrace();
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
if(image_name1!=null) {
|
||||
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name1);
|
||||
if(data!=null) { //Удалось найти файл локально
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}else { //Пытаемся найти на другом сервера
|
||||
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name1);
|
||||
if(data!=null) { //Если скачали с удаленного сервера
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(image_name2!=null) {
|
||||
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name2);
|
||||
if(data!=null) { //Удалось найти файл локально
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}else { //Пытаемся найти на другом сервера
|
||||
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name2);
|
||||
if(data!=null) { //Если скачали с удаленного сервера
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(image_name3!=null) {
|
||||
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name3);
|
||||
if(data!=null) { //Удалось найти файл локально
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}else { //Пытаемся найти на другом сервера
|
||||
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name3);
|
||||
if(data!=null) { //Если скачали с удаленного сервера
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("name", image_name1);
|
||||
obj.put("data", data);
|
||||
array.put(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorCodeDescription", errorCodeDescription);
|
||||
return obj.toString();
|
||||
}else {
|
||||
return array.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
|
||||
public String getBase64FromFile(String fName) {
|
||||
String result=null;
|
||||
File file = new File(fName);
|
||||
if(file.exists()) {
|
||||
try {
|
||||
byte fileData[] = new byte[(int) file.length()];
|
||||
try (FileInputStream imageInFile = new FileInputStream(file)) {
|
||||
imageInFile.read(fileData);
|
||||
}
|
||||
result=Base64.getEncoder().encodeToString(fileData);
|
||||
} catch (FileNotFoundException e) {
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public String getBase64FromURL(String strURL) {
|
||||
String result=null;
|
||||
try
|
||||
{
|
||||
URL url = new URL(strURL);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.connect();
|
||||
int responseCode = conn.getResponseCode();
|
||||
if (responseCode / 100 == 2) //Code 206 is "Partial Content"
|
||||
{
|
||||
InputStream inputStream = conn.getInputStream();
|
||||
int bytesRead;
|
||||
byte[] buffer = new byte[BUFFER_SIZE];
|
||||
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||
if(result==null) result="";
|
||||
byte[] encoded = Base64.getEncoder().encode(Tools.subArray(buffer, 0, bytesRead));
|
||||
result+=new String(encoded);
|
||||
}
|
||||
inputStream.close();
|
||||
}
|
||||
conn.disconnect();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
354
src/main/java/kz/locust/CCALM/Main.java
Normal file
354
src/main/java/kz/locust/CCALM/Main.java
Normal file
@ -0,0 +1,354 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.http.CacheControl;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
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.multipart.MultipartFile;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tools.User;
|
||||
|
||||
/**
|
||||
* Handles requests for the application home page.
|
||||
*/
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class Main implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Main.class);
|
||||
private ServletContext context;
|
||||
private Properties m_props=null;
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext context){
|
||||
this.context=context;
|
||||
}
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
/**
|
||||
* Simply selects the home view to render by returning its name.
|
||||
*/
|
||||
/*@RequestMapping(value = "/test", method = RequestMethod.GET)
|
||||
public String home(Locale locale, Model model) {
|
||||
logger.info("Welcome home! The client locale is {}.", locale);
|
||||
|
||||
//Date date = new Date();
|
||||
//DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
|
||||
//String formattedDate = dateFormat.format(date);
|
||||
//model.addAttribute("serverTime", formattedDate );
|
||||
|
||||
return "index";
|
||||
}*/
|
||||
|
||||
/**
|
||||
* Simply selects the home view to render by returning its name.
|
||||
*/
|
||||
@RequestMapping(value = "/privacy", method = RequestMethod.GET)
|
||||
public String privacy(Locale locale, Model model) {
|
||||
logger.info("Welcome home! The client locale is {}.", locale);
|
||||
|
||||
/*Date date = new Date();
|
||||
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
|
||||
String formattedDate = dateFormat.format(date);
|
||||
model.addAttribute("serverTime", formattedDate );*/
|
||||
|
||||
return "privacy";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/robots.txt")
|
||||
public void robots(HttpServletResponse response) {
|
||||
try {
|
||||
response.getWriter().write("User-agent: *\n");
|
||||
response.getWriter().write("Disallow: /engine/\n");
|
||||
response.getWriter().write("Disallow: /resources/\n");
|
||||
response.getWriter().write("Disallow: /test\n");
|
||||
response.getWriter().write("Sitemap: https://ccalm.org/sitemap.xml\n");
|
||||
response.getWriter().write("Host: https://ccalm.org\n");
|
||||
} catch (IOException e) {
|
||||
logger.info(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/sitemap.xml")
|
||||
public void sitemap(HttpServletResponse response) {
|
||||
try {
|
||||
response.getWriter().write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||
+ "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n"
|
||||
+ " <url>\n"
|
||||
+ " <loc>https://ccalm.org</loc>\n"
|
||||
+ " </url>\n"
|
||||
+ "</urlset>\n");
|
||||
} catch (IOException e) {
|
||||
logger.info(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing new main index page
|
||||
*/
|
||||
@RequestMapping(value = "/", method = RequestMethod.GET)
|
||||
public String home2(@ModelAttribute User user, Model model,@RequestParam(required=false,name="lng") String language_id) {
|
||||
//logger.info("Welcome home! The client locale is {}.", locale);
|
||||
|
||||
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//Get language from 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
|
||||
{
|
||||
System.out.println("<br>Connect is ERROR<br>");
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
if(user.id!=null){
|
||||
|
||||
if(language_id!=null && !language_id.equals(""))
|
||||
{
|
||||
//Set the language for the current user if it is transferred.
|
||||
user.language_id=language_id;
|
||||
try {
|
||||
st.execute("update main._users set language_id='"+user.language_id+"' where id="+user.id);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
}
|
||||
|
||||
//Select language for current user
|
||||
try {
|
||||
String sql="select language_id,country_id from main._users u where u.id="+String.valueOf(user.id)+";";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
user.language_id = rs.getString("language_id");
|
||||
user.country_id = rs.getString("country_id");
|
||||
}
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
//Send user name and role
|
||||
model.addAttribute("uName",user.name+" ("+user.role+")");
|
||||
model.addAttribute("m_locale",user.language_id);
|
||||
model.addAttribute("country_id",user.country_id);
|
||||
|
||||
//Для перевода выбираю всё что под номером 1 в переводе
|
||||
try {
|
||||
m_props = new Properties();
|
||||
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1;";
|
||||
ResultSet rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
while (rs.next())
|
||||
{
|
||||
String identifier = rs.getString("identifier");
|
||||
String translation = rs.getString("translation");
|
||||
m_props.setProperty(identifier, translation);
|
||||
}
|
||||
rs.close();
|
||||
}
|
||||
stt.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
Set<Object> keys = m_props.keySet();
|
||||
for(Object k:keys){
|
||||
String key = (String)k;
|
||||
String val="";
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = m_props.getProperty(key,"");
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = val.replaceAll("_", " ");
|
||||
}
|
||||
}
|
||||
model.addAttribute(key,val);
|
||||
}
|
||||
|
||||
|
||||
try{ conn.close(); }catch(Exception e){}
|
||||
|
||||
return "index";
|
||||
//return "test";
|
||||
}
|
||||
|
||||
//Returns data for building a map on the first index page
|
||||
@RequestMapping(value = "/dataindex",method = {RequestMethod.POST,RequestMethod.GET},produces = "application/json; charset=utf-8")
|
||||
@ResponseBody
|
||||
public Object ajaxIndexData(HttpServletResponse response,@ModelAttribute User user,@RequestParam(required=false,name="date_start",defaultValue = "null") String date_start,@RequestParam(required=false,name="date_end",defaultValue = "null") String date_end, @RequestParam(required=false,name="lng") String language_id) {
|
||||
String headerValue = CacheControl.maxAge(60, TimeUnit.SECONDS).getHeaderValue();
|
||||
response.addHeader("Cache-Control", headerValue);
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
JSONArray array=new JSONArray();
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//Connect 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
|
||||
{
|
||||
System.out.println("<br>Connect is ERROR<br>");
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
String sql;
|
||||
sql = "select * from main.p_dataindex(to_timestamp("+date_start+")::timestamp without time zone,to_timestamp("+date_end+")::timestamp without time zone);";
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
rs = stmt.executeQuery(sql);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
while (rs.next()) {
|
||||
JSONObject rsRez = new JSONObject();
|
||||
rsRez.put("id",rs.getInt("id"));
|
||||
rsRez.put("lon",rs.getDouble("lon"));
|
||||
rsRez.put("lat",rs.getDouble("lat"));
|
||||
rsRez.put("type",rs.getInt("type"));
|
||||
rsRez.put("terrain",rs.getString("terrain"));
|
||||
array.put(rsRez);
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
ex.printStackTrace();
|
||||
}
|
||||
result.put("ErrorCode", "0");
|
||||
result.put("ErrorMessage", "");
|
||||
|
||||
result.put("data", array);
|
||||
|
||||
if(conn!=null)
|
||||
{
|
||||
try {
|
||||
conn.close();
|
||||
} catch (SQLException e) {
|
||||
}
|
||||
}
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
697
src/main/java/kz/locust/CCALM/Products.java
Normal file
697
src/main/java/kz/locust/CCALM/Products.java
Normal file
@ -0,0 +1,697 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
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.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
||||
import tools.PreparedStatementNamed;
|
||||
import tools.User;
|
||||
|
||||
@Controller
|
||||
@SessionAttributes( { "user" }) //Сесионный объект
|
||||
public class Products implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Products.class);
|
||||
private ServletContext context;
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get_survey",method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public String getLocustSurvey(@ModelAttribute User user,@RequestBody(required=false) byte[] reqData,@RequestParam(required=false,name="lng") String language_id) {
|
||||
|
||||
int errorCode=0;
|
||||
String errorMessage="";
|
||||
|
||||
//Load configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
errorCode=1;
|
||||
errorMessage+="Internal server error, settings.";
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
|
||||
try {
|
||||
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
//st.executeUpdate("SET TIME ZONE 'UTC';"); зачем коментил?
|
||||
stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';"); //Зачем раскоментил? может в начале поставить ещё TimeZone.setDefault(TimeZone.getTimeZone("UTC")); ?
|
||||
stt0.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="Failed to execute SQL query!";
|
||||
}
|
||||
|
||||
JSONObject doc=null;
|
||||
InputStream body;
|
||||
if(reqData!=null) {
|
||||
|
||||
|
||||
body = new ByteArrayInputStream(reqData);
|
||||
|
||||
String text="";
|
||||
try {
|
||||
text = new String(body.readAllBytes(), StandardCharsets.UTF_8);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
logger.info(text);
|
||||
|
||||
//JSONParser jsonParser = new JSONParser();
|
||||
//doc = (JSONObject)jsonParser.parse(text);
|
||||
//doc = new JSONObject(body);
|
||||
doc = new JSONObject(text);
|
||||
}
|
||||
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select id,"
|
||||
+ " lat1,"
|
||||
+ " lon1,"
|
||||
+ " lat2,"
|
||||
+ " lon2,"
|
||||
+ " lat3,"
|
||||
+ " lon3,"
|
||||
+ " lat4,"
|
||||
+ " lon4,"
|
||||
+ " lat5,"
|
||||
+ " lon5,"
|
||||
+ " lat6,"
|
||||
+ " lon6,"
|
||||
+ " terrain,"
|
||||
+ " locust_populated,"
|
||||
+ " eggs_capsules_density,"
|
||||
+ " eggs_capsules_density_to,"
|
||||
+ " imago_density,"
|
||||
+ " larva_density,"
|
||||
+ " larva_density_to,"
|
||||
+ " kuliguli_size,"
|
||||
+ " CASE swarm_maturity WHEN true THEN 1 WHEN false THEN 0 ELSE null END as swarm_maturity,"
|
||||
+ " swarm_density_id,"
|
||||
+ " ST_AsGeoJSON(geom) as geom"
|
||||
+ " from main.frmlocust fl where"
|
||||
+ " fl.del=false"
|
||||
+ " and (${country_id} is null or (${country_id}=-1 and fl.country_id in (7,3,4,2)) or (${country_id}=-2 and fl.country_id in (7,1,5,6,8,9,10)) or ${country_id}=fl.country_id)"
|
||||
+ " and (${region_id} is null or ${region_id}=fl.region_id)"
|
||||
+ " and (${locust_type_id} is null or ${locust_type_id}=fl.locust_type_id)"
|
||||
+ " and (${date_start} is null or to_timestamp(${date_start})<=fl.date)"
|
||||
+ " and (${date_end} is null or to_timestamp(${date_end})>=fl.date)"
|
||||
+ " and (${device_id} is null or (${device_id} and fl.device_id is not null) or (not ${device_id} and fl.device_id is null))"
|
||||
+ " and (${registered} is null or (${registered} and (fl.device_id is null or fl.device_id in (select serial from main.terminals where del=false))) or (not ${registered} and (fl.device_id not in (select serial from main.terminals where del=false))))"
|
||||
+ " and ((${test} is null and (test!=true or test is null)) or ${test}=fl.test)"
|
||||
+ " order by fl.id desc;";
|
||||
|
||||
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||
if(doc!=null) {
|
||||
stmtn.setInt("_user_id", Integer.parseInt(user.id));
|
||||
|
||||
if(doc.isNull("country_id")) stmtn.setNULLInt("country_id");
|
||||
else stmtn.setInt("country_id",doc.getInt("country_id"));
|
||||
|
||||
if(doc.isNull("region_id")) stmtn.setNULLInt("region_id");
|
||||
else stmtn.setInt("region_id",doc.getInt("region_id"));
|
||||
|
||||
if(doc.isNull("locust_type_id")) stmtn.setNULLInt("locust_type_id");
|
||||
else stmtn.setInt("locust_type_id",doc.getInt("locust_type_id"));
|
||||
|
||||
if(doc.isNull("date_start")) stmtn.setNULLInt("date_start");
|
||||
else stmtn.setInt("date_start",doc.getInt("date_start"));
|
||||
|
||||
if(doc.isNull("date_end")) stmtn.setNULLInt("date_end");
|
||||
else stmtn.setInt("date_end",doc.getInt("date_end"));
|
||||
|
||||
if(doc.isNull("device_id")) stmtn.setNULLBoolean("device_id");
|
||||
else stmtn.setBoolean("device_id",doc.getInt("device_id"));
|
||||
|
||||
if(doc.isNull("registered")) stmtn.setNULLBoolean("registered");
|
||||
else stmtn.setBoolean("registered",doc.getInt("registered"));
|
||||
|
||||
if(doc.isNull("test")) stmtn.setNULLBoolean("test");
|
||||
else stmtn.setBoolean("test",doc.getInt("test"));
|
||||
}
|
||||
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||
|
||||
rs = stmt.executeQuery();
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("id", rs.getLong("id"));
|
||||
if(rs.getObject("terrain")!=null)
|
||||
obj.put("terrain", rs.getString("terrain"));
|
||||
if(rs.getObject("locust_populated")!=null)
|
||||
obj.put("locust_populated", rs.getFloat("locust_populated"));
|
||||
if(rs.getObject("eggs_capsules_density")!=null)
|
||||
obj.put("eggs_capsules_density", rs.getFloat("eggs_capsules_density"));
|
||||
if(rs.getObject("eggs_capsules_density_to")!=null)
|
||||
obj.put("eggs_capsules_density_to", rs.getFloat("eggs_capsules_density_to"));
|
||||
if(rs.getObject("imago_density")!=null)
|
||||
obj.put("imago_density", rs.getFloat("imago_density"));
|
||||
if(rs.getObject("larva_density")!=null)
|
||||
obj.put("larva_density", rs.getFloat("larva_density"));
|
||||
if(rs.getObject("larva_density_to")!=null)
|
||||
obj.put("larva_density_to", rs.getFloat("larva_density_to"));
|
||||
if(rs.getObject("kuliguli_size")!=null)
|
||||
obj.put("kuliguli_size", rs.getFloat("kuliguli_size"));
|
||||
if(rs.getObject("swarm_maturity")!=null)
|
||||
obj.put("swarm_maturity", rs.getString("swarm_maturity"));
|
||||
if(rs.getObject("swarm_density_id")!=null)
|
||||
obj.put("swarm_density_id", rs.getInt("swarm_density_id"));
|
||||
|
||||
//obj.put("town_name", rs.getString("town_name")); //Район
|
||||
//obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||
//obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||
|
||||
|
||||
double lat=0;
|
||||
double lon=0;
|
||||
int cnt1=0;
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||
lat+=rs.getDouble("lat1");
|
||||
lon+=rs.getDouble("lon1");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||
lat+=rs.getDouble("lat2");
|
||||
lon+=rs.getDouble("lon2");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||
lat+=rs.getDouble("lat3");
|
||||
lon+=rs.getDouble("lon3");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||
lat+=rs.getDouble("lat4");
|
||||
lon+=rs.getDouble("lon4");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||
lat+=rs.getDouble("lat5");
|
||||
lon+=rs.getDouble("lon5");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||
lat+=rs.getDouble("lat6");
|
||||
lon+=rs.getDouble("lon6");
|
||||
cnt1++;
|
||||
}
|
||||
if(cnt1>0) {
|
||||
lat=lat/cnt1;
|
||||
lon=lon/cnt1;
|
||||
}
|
||||
obj.put("lat", lat);
|
||||
obj.put("lon", lon);
|
||||
boolean point=cnt1<=2;
|
||||
|
||||
JSONObject geom = null;
|
||||
if(rs.getString("geom")!=null)
|
||||
{
|
||||
try {
|
||||
geom = new JSONObject(rs.getString("geom"));
|
||||
}catch (JSONException err){
|
||||
|
||||
}
|
||||
}else {
|
||||
if(point) {
|
||||
/*geom = new JSONObject();
|
||||
geom.put("type","Point");
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdSub.put(rs.getDouble("lon1"));
|
||||
crdSub.put(rs.getDouble("lat1"));
|
||||
geom.put("coordinates", crdSub);*/
|
||||
}else {
|
||||
geom = new JSONObject();
|
||||
geom.put("type","Polygon");
|
||||
JSONArray crdMain=new JSONArray();
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdMain.put(crdSub);
|
||||
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon1"));
|
||||
crd.put(rs.getDouble("lat1"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon2"));
|
||||
crd.put(rs.getDouble("lat2"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon3"));
|
||||
crd.put(rs.getDouble("lat3"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon4"));
|
||||
crd.put(rs.getDouble("lat4"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon5"));
|
||||
crd.put(rs.getDouble("lat5"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon6"));
|
||||
crd.put(rs.getDouble("lat6"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
geom.put("coordinates", crdMain);
|
||||
}
|
||||
}
|
||||
|
||||
if(geom!=null)
|
||||
obj.put("geom", geom);
|
||||
|
||||
array.put(obj);
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=4;
|
||||
errorMessage+="Internal server error, sampling.";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=5;
|
||||
errorMessage+="Внутренняя ошибка сервера, запрос. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorMessage", errorMessage);
|
||||
return obj.toString();
|
||||
}else {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",0);
|
||||
obj.put("errorMessage", "");
|
||||
if(doc!=null)
|
||||
obj.put("indicator",doc.getString("indicator"));
|
||||
obj.put("data",array);
|
||||
return obj.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get_spray",method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public String getSprayMonitoring(@ModelAttribute User user,@RequestBody byte[] reqData,@RequestParam(required=false,name="lng") String language_id) {
|
||||
|
||||
int errorCode=0;
|
||||
String errorMessage="";
|
||||
|
||||
//Load configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
errorCode=1;
|
||||
errorMessage+="Internal server error, settings.";
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
} else {
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="An error occurred while connecting to the database!";
|
||||
}
|
||||
|
||||
try {
|
||||
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
//st.executeUpdate("SET TIME ZONE 'UTC';"); зачем коментил?
|
||||
stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';");
|
||||
stt0.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
errorCode=1;
|
||||
errorMessage+="Failed to execute SQL query!";
|
||||
}
|
||||
|
||||
JSONObject doc=null;
|
||||
InputStream body;
|
||||
if(reqData!=null) {
|
||||
|
||||
|
||||
body = new ByteArrayInputStream(reqData);
|
||||
|
||||
String text="";
|
||||
try {
|
||||
text = new String(body.readAllBytes(), StandardCharsets.UTF_8);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
logger.info(text);
|
||||
|
||||
//JSONParser jsonParser = new JSONParser();
|
||||
//doc = (JSONObject)jsonParser.parse(text);
|
||||
//doc = new JSONObject(body);
|
||||
doc = new JSONObject(text);
|
||||
}
|
||||
|
||||
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||
|
||||
String sql_query = "";
|
||||
Statement stt=null;
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
sql_query = "select id,"
|
||||
+ " lat_center,"
|
||||
+ " lon_center,"
|
||||
+ " lat1,"
|
||||
+ " lon1,"
|
||||
+ " lat2,"
|
||||
+ " lon2,"
|
||||
+ " lat3,"
|
||||
+ " lon3,"
|
||||
+ " lat4,"
|
||||
+ " lon4,"
|
||||
+ " lat5,"
|
||||
+ " lon5,"
|
||||
+ " lat6,"
|
||||
+ " lon6,"
|
||||
+ " terrain,"
|
||||
+ " treated_area,"
|
||||
+ " infested_area,"
|
||||
+ " ST_AsGeoJSON(geom) as geom"
|
||||
+ " from main.frmlocustdel fld where"
|
||||
+ " fld.del=false"
|
||||
+ " and (${country_id} is null or (${country_id}=-1 and fld.country_id in (7,3,4,2)) or (${country_id}=-2 and fld.country_id in (7,1,5,6,8,9,10)) or ${country_id}=fld.country_id)"
|
||||
+ " and (${region_id} is null or ${region_id}=fld.region_id)"
|
||||
+ " and (${date_start} is null or to_timestamp(${date_start})<=fld.date)"
|
||||
+ " and (${date_end} is null or to_timestamp(${date_end})>=fld.date)"
|
||||
+ " and (${device_id} is null or (${device_id} and fld.device_id is not null) or (not ${device_id} and fld.device_id is null))"
|
||||
+ " and (${registered} is null or (${registered} and (fld.device_id is null or fld.device_id in (select serial from main.terminals where del=false))) or (not ${registered} and (fld.device_id not in (select serial from main.terminals where del=false))))"
|
||||
+ " and ((${test} is null and (test!=true or test is null)) or ${test}=fld.test)"
|
||||
+ " order by fld.id desc;";
|
||||
|
||||
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||
if(doc!=null) {
|
||||
stmtn.setInt("_user_id", Integer.parseInt(user.id));
|
||||
|
||||
if(doc.isNull("country_id")) stmtn.setNULLInt("country_id");
|
||||
else stmtn.setInt("country_id",doc.getInt("country_id"));
|
||||
|
||||
if(doc.isNull("region_id")) stmtn.setNULLInt("region_id");
|
||||
else stmtn.setInt("region_id",doc.getInt("region_id"));
|
||||
|
||||
if(doc.isNull("locust_type_id")) stmtn.setNULLInt("locust_type_id");
|
||||
else stmtn.setInt("locust_type_id",doc.getInt("locust_type_id"));
|
||||
|
||||
if(doc.isNull("date_start")) stmtn.setNULLInt("date_start");
|
||||
else stmtn.setInt("date_start",doc.getInt("date_start"));
|
||||
|
||||
if(doc.isNull("date_end")) stmtn.setNULLInt("date_end");
|
||||
else stmtn.setInt("date_end",doc.getInt("date_end"));
|
||||
|
||||
if(doc.isNull("device_id")) stmtn.setNULLBoolean("device_id");
|
||||
else stmtn.setBoolean("device_id",doc.getInt("device_id"));
|
||||
|
||||
if(doc.isNull("registered")) stmtn.setNULLBoolean("registered");
|
||||
else stmtn.setBoolean("registered",doc.getInt("registered"));
|
||||
|
||||
if(doc.isNull("test")) stmtn.setNULLBoolean("test");
|
||||
else stmtn.setBoolean("test",doc.getInt("test"));
|
||||
}
|
||||
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||
|
||||
rs = stmt.executeQuery();
|
||||
if (rs != null) {
|
||||
try {
|
||||
while(rs.next()) {
|
||||
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("id", rs.getLong("id"));
|
||||
if(rs.getObject("terrain")!=null)
|
||||
obj.put("terrain", rs.getString("terrain"));
|
||||
if(rs.getObject("treated_area")!=null)
|
||||
obj.put("treated_area", rs.getFloat("treated_area"));
|
||||
if(rs.getObject("infested_area")!=null)
|
||||
obj.put("infested_area", rs.getFloat("infested_area"));
|
||||
|
||||
double lat=0;
|
||||
double lon=0;
|
||||
int cnt1=0;
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||
lat+=rs.getDouble("lat1");
|
||||
lon+=rs.getDouble("lon1");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||
lat+=rs.getDouble("lat2");
|
||||
lon+=rs.getDouble("lon2");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||
lat+=rs.getDouble("lat3");
|
||||
lon+=rs.getDouble("lon3");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||
lat+=rs.getDouble("lat4");
|
||||
lon+=rs.getDouble("lon4");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||
lat+=rs.getDouble("lat5");
|
||||
lon+=rs.getDouble("lon5");
|
||||
cnt1++;
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||
lat+=rs.getDouble("lat6");
|
||||
lon+=rs.getDouble("lon6");
|
||||
cnt1++;
|
||||
}
|
||||
//lat=lat/cnt1;
|
||||
//lon=lon/cnt1;
|
||||
lat=rs.getDouble("lat_center");
|
||||
lon=rs.getDouble("lon_center");
|
||||
obj.put("lat", lat);
|
||||
obj.put("lon", lon);
|
||||
boolean point=cnt1<=2;
|
||||
|
||||
JSONObject geom = null;
|
||||
|
||||
if(rs.getString("geom")!=null)
|
||||
{
|
||||
try {
|
||||
geom = new JSONObject(rs.getString("geom"));
|
||||
}catch (JSONException err){
|
||||
|
||||
}
|
||||
}else {
|
||||
if(point) {
|
||||
/*geom = new JSONObject();
|
||||
geom.put("type","Point");
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdSub.put(rs.getDouble("lon1"));
|
||||
crdSub.put(rs.getDouble("lat1"));
|
||||
geom.put("coordinates", crdSub);*/
|
||||
}else {
|
||||
geom = new JSONObject();
|
||||
geom.put("type","Polygon");
|
||||
JSONArray crdMain=new JSONArray();
|
||||
JSONArray crdSub=new JSONArray();
|
||||
crdMain.put(crdSub);
|
||||
|
||||
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon1"));
|
||||
crd.put(rs.getDouble("lat1"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon2"));
|
||||
crd.put(rs.getDouble("lat2"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon3"));
|
||||
crd.put(rs.getDouble("lat3"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon4"));
|
||||
crd.put(rs.getDouble("lat4"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon5"));
|
||||
crd.put(rs.getDouble("lat5"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||
JSONArray crd=new JSONArray();
|
||||
crd.put(rs.getDouble("lon6"));
|
||||
crd.put(rs.getDouble("lat6"));
|
||||
crdSub.put(crd);
|
||||
}
|
||||
geom.put("coordinates", crdMain);
|
||||
}
|
||||
}
|
||||
if(geom!=null)
|
||||
obj.put("geom", geom);
|
||||
|
||||
array.put(obj);
|
||||
}
|
||||
rs.close();
|
||||
} catch (SQLException ex) {
|
||||
errorCode=4;
|
||||
errorMessage+="Internal server error, sampling.";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
errorCode=5;
|
||||
errorMessage+="Внутренняя ошибка сервера, запрос. ";
|
||||
ex.printStackTrace();
|
||||
logger.info(ex.getMessage());
|
||||
}finally {
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||
}
|
||||
|
||||
|
||||
if(errorCode!=0) {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",errorCode);
|
||||
obj.put("errorMessage", errorMessage);
|
||||
return obj.toString();
|
||||
}else {
|
||||
JSONObject obj = new JSONObject();
|
||||
obj.put("errorCode",0);
|
||||
obj.put("errorMessage", "");
|
||||
obj.put("data",array);
|
||||
return obj.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
498
src/main/java/kz/locust/CCALM/QGIS.java
Normal file
498
src/main/java/kz/locust/CCALM/QGIS.java
Normal file
@ -0,0 +1,498 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
|
||||
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
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 javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tctable.Tools;
|
||||
import tools.User;
|
||||
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class QGIS implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(QGIS.class);
|
||||
private ServletContext context;
|
||||
private Properties m_props=null;
|
||||
private String m_props_loc="";
|
||||
public String m_locale="ru";
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/QGIS",method = RequestMethod.GET,produces = "application/octet-stream")
|
||||
@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)
|
||||
{
|
||||
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||
m_locale=user.language_id;
|
||||
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
Connection conn = null;
|
||||
try {
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||
if (conn != null) {
|
||||
logger.info("Connect is OK!");
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
|
||||
//Return content QGIS file.
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment; filename="+name+".qgs");
|
||||
|
||||
String fileAsString="";
|
||||
//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(context.getRealPath("/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 = "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<='"+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(context.getRealPath("/resources/QGIS/" + 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<='"+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;
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//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;
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//Apply variables to text
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
|
||||
}
|
||||
if(name!=null && name.equals("soil_temperature"))
|
||||
{
|
||||
//Make SQL
|
||||
String sql2 = "1=1";
|
||||
if(country_id!=null && !country_id.equals(""))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//Apply variables to text
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||
}
|
||||
if(name!=null && name.equals("air_temperature"))
|
||||
{
|
||||
//Make SQL
|
||||
String sql2 = "1=1";
|
||||
if(country_id!=null && !country_id.equals(""))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//Apply variables to text
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||
}
|
||||
if(name!=null && name.equals("precipitation"))
|
||||
{
|
||||
//Make SQL
|
||||
String sql2 = "1=1";
|
||||
if(country_id!=null && !country_id.equals(""))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//Apply variables to text
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||
}
|
||||
if(name!=null && name.equals("htc_selyaninov"))
|
||||
{
|
||||
//Make SQL
|
||||
String sql2 = "1=1";
|
||||
if(country_id!=null && !country_id.equals(""))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||
//Apply variables to text
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{time_start\\}",time_start);
|
||||
fileAsString=fileAsString.replaceAll("\\$\\{time_end\\}",time_end);
|
||||
}
|
||||
if(name!=null && name.equals("NDVI"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDVI.qgs"));
|
||||
if(day!=null && day.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||
}
|
||||
if(name!=null && name.equals("NDWI"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI.qgs"));
|
||||
if(day!=null && day.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||
}
|
||||
if(name!=null && name.equals("IVI"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/IVI.qgs"));
|
||||
if(year!=null && year.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{year\\}",year+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{year\\}","");
|
||||
}
|
||||
if(name!=null && name.equals("NDWI_CMP"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI_CMP.qgs"));
|
||||
if(day!=null && day.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||
}
|
||||
if(name!=null && name.equals("NDSI"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDSI.qgs"));
|
||||
if(day!=null && day.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||
}
|
||||
if(name!=null && name.equals("SMAP"))
|
||||
{
|
||||
fileAsString = fileToString(context.getRealPath("/resources/QGIS/SMAP.qgs"));
|
||||
if(day!=null && day.length()>0)
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||
else
|
||||
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||
}
|
||||
|
||||
//Send data
|
||||
fileAsString=getText(conn,fileAsString,user);
|
||||
return new HttpEntity<byte[]>(fileAsString.getBytes(), headers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
public String trt(Connection conn,String key,User user)
|
||||
{
|
||||
String result="";
|
||||
ResultSet rs=null;
|
||||
Statement st = null;
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
String sql = "select case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.identifier='"+key+"' and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1));";
|
||||
rs = st.executeQuery(sql);
|
||||
if(rs != null) {
|
||||
if (rs.next()) {
|
||||
result = rs.getString(1);
|
||||
}
|
||||
}
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}finally{
|
||||
if(st!=null) try{st.close();}catch(SQLException ex) {}
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex) {}
|
||||
}
|
||||
if(result.equals(""))
|
||||
{
|
||||
result = Tools.replaceAll(key,"_", " ");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//Translate text by patterns
|
||||
public String getText(Connection conn,String text,User user) {
|
||||
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(conn,text.substring(pos1 + 5, pos2),user) + text.substring(pos2 + 2);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
}
|
||||
500
src/main/java/kz/locust/CCALM/SendMail.java
Normal file
500
src/main/java/kz/locust/CCALM/SendMail.java
Normal file
@ -0,0 +1,500 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.util.Properties;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.sql.*;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tools.EmailUtility;
|
||||
import tools.User;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
|
||||
@Controller
|
||||
@SessionAttributes( { "user" }) //Сесионный объект
|
||||
public class SendMail implements ServletContextAware {
|
||||
|
||||
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SendMail.class);
|
||||
|
||||
private ServletContext context;
|
||||
private Connection m_conn = null;
|
||||
private User m_user = null;
|
||||
|
||||
//private Properties m_props=null;
|
||||
public String m_locale="en";
|
||||
|
||||
//private HashMap<String, Properties> m_props = new HashMap< String, Properties>();
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/SendMail",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public Object send(@ModelAttribute User user,@RequestParam(required=false,name="lng") String language_id) {
|
||||
|
||||
m_user = user;
|
||||
if(language_id!=null && !language_id.equals(""))
|
||||
user.language_id=language_id;
|
||||
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id+" user.country_id="+user.country_id);
|
||||
|
||||
String result="";
|
||||
|
||||
//Load DB configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
String mail_host = "";
|
||||
String mail_port = "";
|
||||
String mail_login = "";
|
||||
String mail_password = "";
|
||||
//String data_dir = "";
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
//if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
// data_dir = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-host"))
|
||||
mail_host = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-port"))
|
||||
mail_port = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-login"))
|
||||
mail_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-password"))
|
||||
mail_password = nl.item(i).getTextContent();
|
||||
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Connect to database
|
||||
try{
|
||||
Class.forName("org.postgresql.Driver");
|
||||
m_conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||
if(m_conn!=null)
|
||||
{
|
||||
logger.info("Connect is OK!");
|
||||
result+="Connect is OK!<br>";
|
||||
}else
|
||||
{
|
||||
logger.info("<br>Connect is ERROR<br>");
|
||||
result+="Connect is ERROR!<br>";
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
/*String string = "2016-07-05";
|
||||
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date date = format.parse(string);*/
|
||||
|
||||
//int Day_s,Day_e;
|
||||
//int Month_s,Month_e;
|
||||
//int Year_s,Year_e;
|
||||
|
||||
Calendar calendar_s = Calendar.getInstance();
|
||||
//calendar_s.setTime(date);
|
||||
calendar_s.set(Calendar.DATE, 1);
|
||||
calendar_s.add(Calendar.MONTH, -1); //минус месяц
|
||||
|
||||
Calendar calendar_e = Calendar.getInstance();
|
||||
//calendar_e.setTime(date);
|
||||
calendar_e.set(Calendar.DATE, 1);
|
||||
|
||||
String start_t = String.valueOf(calendar_s.getTimeInMillis()/1000);
|
||||
String end_t = String.valueOf(calendar_e.getTimeInMillis()/1000);
|
||||
|
||||
//Формирую сообщение для каждой страны потом присваиваю пользователям из данной страны
|
||||
String sql1="select c.id,c.name,u.email,l.short_name as language from main.countries c join main._users u on u.country_id=c.id join main._languages l on l.id=u.language_id where u.del=false and u.mailing=true order by c.name;";
|
||||
Statement st1;
|
||||
ResultSet rs1=null;
|
||||
try {
|
||||
st1 = m_conn.createStatement();
|
||||
rs1 = st1.executeQuery(sql1);
|
||||
} catch (SQLException ex) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
|
||||
if(rs1!=null)
|
||||
{
|
||||
try {
|
||||
while (rs1.next()) //Пробегаюсь по странам и генерю сообщение
|
||||
{
|
||||
String html="<html><body>";
|
||||
|
||||
String country_id=rs1.getString("id");
|
||||
String country_name=rs1.getString("name");
|
||||
m_locale=rs1.getString("language");
|
||||
String email = rs1.getString("email");
|
||||
|
||||
html="<h2>"+country_name+"</h2>";
|
||||
result+=html+m_locale;
|
||||
|
||||
//Build HTML and send it to e-mail
|
||||
String sql=""
|
||||
+"select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||
+" main.countriesregions cr\n"
|
||||
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision > 1 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision > 0 and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision <= 1 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision = 0 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||
+"where\n"
|
||||
+" cr.del=false\n"
|
||||
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||
+" and cr.country_id="+country_id;
|
||||
|
||||
Statement st = m_conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
html+="<h3>"+trt("Egg_pods_density")+"</h3>";
|
||||
|
||||
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||
|
||||
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Danger")+"\"<br>("+trt("Egg_pods_density")+" > 1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Egg_pods_density")+" <= 1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Egg_pods_density")+" = 0)</th></tr>";
|
||||
|
||||
boolean exists=false;
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
html+="<tr>";
|
||||
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||
html+="<td>"+rs.getString("danger")+"</td>";
|
||||
html+="<td>"+rs.getString("attention")+"</td>";
|
||||
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||
html+="</tr>";
|
||||
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
if(!exists) html+="<td colspan=\"4\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||
html+="</table>";
|
||||
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=1\">"+trt("Open_data_on_the_map")+"</a>";
|
||||
html+="<br><br>";
|
||||
|
||||
//Adult_density
|
||||
//плотности имаго
|
||||
sql=""
|
||||
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||
+" main.countriesregions cr\n"
|
||||
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density >= 5 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density >= 3 and imago_density < 5 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density <= 2 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||
+"where\n"
|
||||
+" cr.del=false\n"
|
||||
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||
+" and cr.country_id="+country_id;
|
||||
|
||||
|
||||
st = m_conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
html+="<h3>"+trt("Adult_density")+"</h3>";
|
||||
|
||||
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||
|
||||
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Adult_density")+" >=5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Adult_density")+" >=3 "+trt("and")+" <5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Adult_density")+" <=2)</th></tr>";
|
||||
|
||||
exists=false;
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
html+="<tr>";
|
||||
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||
html+="<td>"+rs.getString("danger")+"</td>";
|
||||
html+="<td>"+rs.getString("attention")+"</td>";
|
||||
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||
html+="</tr>";
|
||||
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||
html+="</table>";
|
||||
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=4\">"+trt("Open_data_on_the_map")+"</a>";
|
||||
html+="<br><br>";
|
||||
|
||||
|
||||
//Hopper_density
|
||||
sql=""
|
||||
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||
+" main.countriesregions cr\n"
|
||||
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision >= 5 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision >= 3 and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision < 5 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision <= 2 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||
+"where\n"
|
||||
+" cr.del=false\n"
|
||||
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||
+" and cr.country_id="+country_id;
|
||||
|
||||
st = m_conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
html+="<h3>"+trt("Hopper_density")+"</h3>";
|
||||
|
||||
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||
|
||||
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Hopper_density")+" >=5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Hopper_density")+" >=3 "+trt("and")+" <5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Hopper_density")+" <=2)</th></tr>";
|
||||
|
||||
exists=false;
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
html+="<tr>";
|
||||
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||
html+="<td>"+rs.getString("danger")+"</td>";
|
||||
html+="<td>"+rs.getString("attention")+"</td>";
|
||||
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||
html+="</tr>";
|
||||
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||
html+="</table>";
|
||||
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=2\">"+trt("Open_data_on_the_map")+"</a>";
|
||||
html+="<br><br>";
|
||||
|
||||
sql=""
|
||||
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t3.quietly,0) quietly from\n"
|
||||
+" main.countriesregions cr\n"
|
||||
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (kuliguli_size >= 1 or kuliguli_density>=1 or kuliguli_density_to>=1) group by region_id) t1 on cr.id=t1.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (kuliguli_size < 1 or kuliguli_size is null) group by region_id) t3 on cr.id=t3.region_id\n"
|
||||
+" where\n"
|
||||
+" cr.del=false\n"
|
||||
+" and (t1.danger is not null or t3.quietly is not null)\n"
|
||||
+" and cr.country_id="+country_id;
|
||||
|
||||
st = m_conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
html+="<h3>"+trt("Number_of_bands")+"</h3>";
|
||||
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||
|
||||
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Number_of_bands")+" >=1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Number_of_bands")+" <1)</th></tr>";
|
||||
|
||||
exists=false;
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
html+="<tr>";
|
||||
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||
html+="<td>"+rs.getString("danger")+"</td>";
|
||||
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||
html+="</tr>";
|
||||
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
if(!exists) html+="<td colspan=\"3\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||
html+="</table>";
|
||||
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=3\">"+trt("Open_data_on_the_map")+"</a>";
|
||||
html+="<br><br>";
|
||||
|
||||
sql=""
|
||||
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t3.quietly,0) quietly from\n"
|
||||
+" main.countriesregions cr\n"
|
||||
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (swarm_maturity is not null or swarm_density_id is not null) group by region_id) t1 on cr.id=t1.region_id\n"
|
||||
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (swarm_maturity is null and swarm_density_id is null) group by region_id) t3 on cr.id=t3.region_id\n"
|
||||
+" where\n"
|
||||
+" cr.del=false\n"
|
||||
+" and (t1.danger is not null or t3.quietly is not null)\n"
|
||||
+" and cr.country_id="+country_id;
|
||||
|
||||
st = m_conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
html+="<h3>"+trt("Number_of_swarms")+"</h3>";
|
||||
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||
|
||||
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Number_of_swarms")+" >=1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Number_of_swarms")+" <1)</th></tr>";
|
||||
|
||||
exists=false;
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
html+="<tr>";
|
||||
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||
html+="<td>"+rs.getString("danger")+"</td>";
|
||||
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||
html+="</tr>";
|
||||
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||
html+="</table>";
|
||||
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=5\">"+trt("Open_data_on_the_map")+"</a>";
|
||||
html+="<br><br>";
|
||||
|
||||
html+="</body></html>";
|
||||
|
||||
|
||||
/*String mail_host="";
|
||||
String mail_port="";
|
||||
String mail_login="";
|
||||
String mail_password="";*/
|
||||
|
||||
try {
|
||||
EmailUtility.sendEmail(mail_host, mail_port, mail_login, mail_password, email, "Locust statistics", html);
|
||||
//result = "The e-mail was sent successfully";
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
//result = "There were an error: " + ex.getMessage();
|
||||
} finally {
|
||||
//request.setAttribute("Message", resultMessage);
|
||||
//getServletContext().getRequestDispatcher("/Result.jsp").forward(request, response);
|
||||
}
|
||||
html="";
|
||||
}
|
||||
} catch (NumberFormatException ex) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
} catch (SQLException ex) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
public String trt(String key)
|
||||
{
|
||||
String result="";
|
||||
if(m_conn!=null) {
|
||||
ResultSet rs=null;
|
||||
Statement st = null;
|
||||
try {
|
||||
st = m_conn.createStatement();
|
||||
String sql = "select case when '"+m_user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.identifier='"+key+"' and (t.language_id='"+m_user.language_id+"' or ('"+m_user.language_id+"'='666' and t.language_id=1));";
|
||||
rs = st.executeQuery(sql);
|
||||
if(rs != null) {
|
||||
if (rs.next()) {
|
||||
result = rs.getString(1);
|
||||
}
|
||||
}
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}finally{
|
||||
if(st!=null) try{st.close();}catch(SQLException ex) {}
|
||||
if(rs!=null) try{rs.close();}catch(SQLException ex) {}
|
||||
}
|
||||
}
|
||||
if(result.equals(""))
|
||||
{
|
||||
result = key.replaceAll("_", " ");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
//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 + 5, pos2)) + text.substring(pos2 + 2);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
47
src/main/java/kz/locust/CCALM/Session.java
Normal file
47
src/main/java/kz/locust/CCALM/Session.java
Normal file
@ -0,0 +1,47 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||
|
||||
import tools.User;
|
||||
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class Session {
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/session", method = {RequestMethod.GET, RequestMethod.POST })
|
||||
@ResponseBody
|
||||
public Object ajaxTest(@ModelAttribute User user,HttpServletResponse response) {
|
||||
|
||||
response.setHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
|
||||
JSONObject obj = new JSONObject();
|
||||
if(user.id==null || user.id.equals("") || user.id.equals("null"))
|
||||
obj.put("result", "ERROR");
|
||||
else {
|
||||
obj.put("result", "OK");
|
||||
obj.put("user_id", user.id);
|
||||
}
|
||||
|
||||
return obj.toString();
|
||||
}
|
||||
|
||||
/*class Result
|
||||
{
|
||||
public String result;
|
||||
Result(String result){this.result=result;}
|
||||
}*/
|
||||
|
||||
}
|
||||
202
src/main/java/kz/locust/CCALM/TestFiles.java
Normal file
202
src/main/java/kz/locust/CCALM/TestFiles.java
Normal file
@ -0,0 +1,202 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
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.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
@Controller
|
||||
public class TestFiles implements ServletContextAware {
|
||||
|
||||
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SendMail.class);
|
||||
|
||||
private ServletContext context;
|
||||
|
||||
@RequestMapping(value = "/TestFiles",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||
@ResponseBody
|
||||
public Object ajaxTamer()
|
||||
{
|
||||
String result="";
|
||||
|
||||
//Load DB configuration from "config.xml"
|
||||
String db_url = "";
|
||||
String db_login = "";
|
||||
String db_password = "";
|
||||
String mail_host = "";
|
||||
String mail_port = "";
|
||||
String mail_login = "";
|
||||
String mail_password = "";
|
||||
//String data_dir = "";
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain = doc.getDocumentElement();
|
||||
NodeList nl = nMain.getChildNodes();
|
||||
for (int i = 0; i < nl.getLength(); i++) {
|
||||
if (nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password = nl.item(i).getTextContent();
|
||||
//if (nl.item(i).getNodeName().equals("data-dir"))
|
||||
// data_dir = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-host"))
|
||||
mail_host = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-port"))
|
||||
mail_port = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-login"))
|
||||
mail_login = nl.item(i).getTextContent();
|
||||
if (nl.item(i).getNodeName().equals("mail-password"))
|
||||
mail_password = nl.item(i).getTextContent();
|
||||
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
//Connect to database
|
||||
Connection conn = null;
|
||||
try{
|
||||
Class.forName("org.postgresql.Driver");
|
||||
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||
if(conn!=null)
|
||||
{
|
||||
logger.info("Connect is OK!");
|
||||
result+="Connect is OK!<br>";
|
||||
}else
|
||||
{
|
||||
logger.info("<br>Connect is ERROR<br>");
|
||||
result+="Connect is ERROR!<br>";
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
String sql;
|
||||
Statement st;
|
||||
ResultSet rs=null;
|
||||
|
||||
result+="image_name1<br><br>";
|
||||
sql="select image_name1 as name from main.frmlocustdel where image_name1 is not null";
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||
{
|
||||
logger.info("update main.frmlocustdel set image_name1=null where image_name1=\""+rs.getString("name")+"\"");
|
||||
result+="update main.frmlocustdel set image_name1=null where image_name1='"+rs.getString("name")+"';"+"<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
result+="image_name2<br><br>";
|
||||
sql="select image_name2 as name from main.frmlocustdel where image_name2 is not null";
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||
{
|
||||
logger.info("update main.frmlocustdel set image_name2=null where image_name2=\""+rs.getString("name")+"\"");
|
||||
result+="update main.frmlocustdel set image_name2=null where image_name2='"+rs.getString("name")+"';"+"<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
result+="image_name3<br><br>";
|
||||
sql="select image_name3 as name from main.frmlocustdel where image_name3 is not null";
|
||||
try {
|
||||
st = conn.createStatement();
|
||||
rs=null;
|
||||
try {
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex ) {
|
||||
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||
{
|
||||
logger.info("update main.frmlocustdel set image_name3=null where image_name3=\""+rs.getString("name")+"\"");
|
||||
result+="update main.frmlocustdel set image_name3=null where image_name3='"+rs.getString("name")+"';"+"<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
}
|
||||
204
src/main/java/kz/locust/CCALM/Translation.java
Normal file
204
src/main/java/kz/locust/CCALM/Translation.java
Normal file
@ -0,0 +1,204 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
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.Set;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
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.SessionAttributes;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tools.User;
|
||||
|
||||
/**
|
||||
* Handles requests for the application home page.
|
||||
*/
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class Translation implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Translation.class);
|
||||
private ServletContext context;
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
/*public static boolean loadTranslationFromXML(Properties props, InputStream isXML)
|
||||
{
|
||||
boolean result=false;
|
||||
if(isXML!=null)
|
||||
{
|
||||
Document doc = null;
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
doc = dBuilder.parse(isXML);
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
Node reqNode = doc.getDocumentElement();
|
||||
|
||||
Node nextnode=reqNode.getFirstChild();
|
||||
while(nextnode!=null)
|
||||
{
|
||||
if(nextnode.getNodeName().equals("string"))
|
||||
{
|
||||
String name=nextnode.getAttributes().getNamedItem("name").getNodeValue();
|
||||
String val="";
|
||||
if(nextnode.getFirstChild()!=null)
|
||||
val=nextnode.getFirstChild().getNodeValue();
|
||||
//if(props.getProperty(name,"").equals("") && !val.equals(""))
|
||||
props.setProperty(name, val);
|
||||
result=true;
|
||||
}
|
||||
nextnode = nextnode.getNextSibling();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}*/
|
||||
|
||||
/**
|
||||
* Simply selects the home view to render by returning its name.
|
||||
*/
|
||||
@RequestMapping(value = "/translation", method = RequestMethod.GET)
|
||||
public String home(@ModelAttribute User user/*, Locale locale*/, Model model) {
|
||||
|
||||
Properties props = new Properties();
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||
//File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//Get language from 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
|
||||
{
|
||||
System.out.println("<br>Connect is ERROR<br>");
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1 order by identifier;";
|
||||
rs = st.executeQuery(sql_query);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
if(rs.getString("translation")!=null)
|
||||
props.setProperty(rs.getString("identifier"), rs.getString("translation"));
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
try{ conn.close(); }catch(Exception e){}
|
||||
|
||||
//Create JavaScript text
|
||||
/*
|
||||
InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||
Reader reader;
|
||||
try {
|
||||
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||
props.load(reader);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
}catch (IOException e) {
|
||||
}*/
|
||||
|
||||
//Переписываю в JavaScript код
|
||||
String result="";
|
||||
Set<Object> keys = props.keySet();
|
||||
for(Object k:keys){
|
||||
String key = ((String)k).trim();
|
||||
String val = props.getProperty(key,"");
|
||||
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = val.replaceAll("_", " ");
|
||||
}
|
||||
val = val.replaceAll("'", "`");
|
||||
result += " ,"+key+":'"+val+"'\n";
|
||||
}
|
||||
|
||||
model.addAttribute("keys",result);
|
||||
|
||||
return "translation";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.context=servletContext;
|
||||
}
|
||||
|
||||
}
|
||||
128
src/main/java/kz/locust/CCALM/WeatherDownload.java
Normal file
128
src/main/java/kz/locust/CCALM/WeatherDownload.java
Normal file
@ -0,0 +1,128 @@
|
||||
package kz.locust.CCALM;
|
||||
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ivanov.i
|
||||
*/
|
||||
public class WeatherDownload {
|
||||
|
||||
private static final int BUFFER_SIZE = 4096;
|
||||
|
||||
|
||||
|
||||
public boolean download(String strURL,String strFile,String posStart,String posEnd)
|
||||
{
|
||||
boolean result=true;
|
||||
String rez = null;
|
||||
String inputLine = null;
|
||||
/*try
|
||||
{
|
||||
rez = new String("".getBytes(), "utf-8");
|
||||
inputLine = new String("".getBytes(), "utf-8");
|
||||
} catch (UnsupportedEncodingException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}*/
|
||||
try
|
||||
{
|
||||
URL url = new URL(strURL);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setRequestProperty("Range","bytes=" + posStart + "-" + posEnd);
|
||||
conn.connect();
|
||||
int responseCode = conn.getResponseCode();
|
||||
if (responseCode / 100 == 2) //Code 206 is "Partial Content"
|
||||
{
|
||||
InputStream inputStream = conn.getInputStream();
|
||||
FileOutputStream outputStream = new FileOutputStream(strFile);
|
||||
int bytesRead;
|
||||
byte[] buffer = new byte[BUFFER_SIZE];
|
||||
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||
outputStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
outputStream.close();
|
||||
inputStream.close();
|
||||
}
|
||||
conn.disconnect();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
//e.printStackTrace();
|
||||
result=false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Downloads a file from a URL
|
||||
* @param fileURL HTTP URL of the file to be downloaded
|
||||
* @param saveDir path of the directory to save the file
|
||||
* @throws IOException
|
||||
*/
|
||||
public static void downloadFile(String fileURL, String saveDir)
|
||||
throws IOException {
|
||||
URL url = new URL(fileURL);
|
||||
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
|
||||
int responseCode = httpConn.getResponseCode();
|
||||
|
||||
// always check HTTP response code first
|
||||
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||
String fileName = "";
|
||||
String disposition = httpConn.getHeaderField("Content-Disposition");
|
||||
String contentType = httpConn.getContentType();
|
||||
int contentLength = httpConn.getContentLength();
|
||||
|
||||
if (disposition != null) {
|
||||
// extracts file name from header field
|
||||
int index = disposition.indexOf("filename=");
|
||||
if (index > 0) {
|
||||
fileName = disposition.substring(index + 10,
|
||||
disposition.length() - 1);
|
||||
}
|
||||
} else {
|
||||
// extracts file name from URL
|
||||
fileName = fileURL.substring(fileURL.lastIndexOf("/") + 1,
|
||||
fileURL.length());
|
||||
}
|
||||
|
||||
System.out.println("Content-Type = " + contentType);
|
||||
System.out.println("Content-Disposition = " + disposition);
|
||||
System.out.println("Content-Length = " + contentLength);
|
||||
System.out.println("fileName = " + fileName);
|
||||
|
||||
// opens input stream from the HTTP connection
|
||||
InputStream inputStream = httpConn.getInputStream();
|
||||
String saveFilePath = saveDir + File.separator + fileName;
|
||||
|
||||
// opens an output stream to save into file
|
||||
FileOutputStream outputStream = new FileOutputStream(saveFilePath);
|
||||
|
||||
int bytesRead = -1;
|
||||
byte[] buffer = new byte[BUFFER_SIZE];
|
||||
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||
outputStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
|
||||
outputStream.close();
|
||||
inputStream.close();
|
||||
|
||||
System.out.println("File downloaded");
|
||||
} else {
|
||||
System.out.println("No file to download. Server replied HTTP code: " + responseCode);
|
||||
}
|
||||
httpConn.disconnect();
|
||||
}
|
||||
}
|
||||
544
src/main/java/kz/locust/CCALM/engine/EngineController.java
Normal file
544
src/main/java/kz/locust/CCALM/engine/EngineController.java
Normal file
@ -0,0 +1,544 @@
|
||||
package kz.locust.CCALM.engine;
|
||||
|
||||
import java.io.File;
|
||||
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.Set;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
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.bind.annotation.SessionAttributes;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import tools.User;
|
||||
|
||||
/**
|
||||
* Handles requests for the application home page.
|
||||
*/
|
||||
@Controller
|
||||
@SessionAttributes( { "user" })
|
||||
public class EngineController implements ServletContextAware {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(EngineController.class);
|
||||
private ServletContext context;
|
||||
private Properties m_props=null;
|
||||
//private String m_props_loc="";
|
||||
|
||||
//If not created object "user", create him.
|
||||
@ModelAttribute("user")
|
||||
public User populatePerson() {
|
||||
return new User("none");
|
||||
}
|
||||
|
||||
/**
|
||||
* Simply selects the home view to render by returning its name.
|
||||
*/
|
||||
@RequestMapping(value = "/engine", method = RequestMethod.GET)
|
||||
public String home(@ModelAttribute User user, Model model,@RequestParam(required=false,name="lng") String language_id) {
|
||||
|
||||
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
//Document doc = dBuilder.parse(fXmlFile);
|
||||
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//Get language from 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
|
||||
{
|
||||
System.out.println("<br>Connect is ERROR<br>");
|
||||
}
|
||||
}catch(Exception e)
|
||||
{
|
||||
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
if(user.id!=null){
|
||||
|
||||
if(language_id!=null && !language_id.equals(""))
|
||||
{
|
||||
//Set the language for the current user if it is transferred.
|
||||
user.language_id=language_id;
|
||||
try {
|
||||
st.execute("update main._users set language_id='"+user.language_id+"' where id="+user.id);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
}
|
||||
|
||||
//Select language for current user
|
||||
try {
|
||||
String sql="select language_id,country_id from main._users where id="+String.valueOf(user.id)+";";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
user.language_id = rs.getString("language_id");
|
||||
user.country_id = rs.getString("country_id");
|
||||
}
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||
}
|
||||
|
||||
//Send user name and role
|
||||
model.addAttribute("uName",user.name+" ("+user.role+")");
|
||||
model.addAttribute("m_locale",user.language_id);
|
||||
model.addAttribute("country_id",user.country_id);
|
||||
|
||||
|
||||
//Send translation to user
|
||||
/*InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||
if(utf8in!=null)
|
||||
{
|
||||
Properties props=new Properties();
|
||||
Reader reader;
|
||||
try {
|
||||
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||
props.load(reader);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
}catch (IOException e) {
|
||||
}
|
||||
//Также подгружаю перевод из XML файла Android проекта
|
||||
Translation.loadTranslationFromXML(props,getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml"));
|
||||
|
||||
Set<Object> keys = props.keySet();
|
||||
for(Object k:keys){
|
||||
String key = (String)k;
|
||||
String val="";
|
||||
//val = trt(conn,key,user); //Если есть то перевод беру из базы данных
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = props.getProperty(key,"");
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = val.replaceAll("_", " ");
|
||||
}
|
||||
}
|
||||
|
||||
model.addAttribute(key,val);
|
||||
}
|
||||
}*/
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
//TODO удалить нужно только для копирования языков в базу (если там их нет)
|
||||
/*InputStream isXML = getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml");
|
||||
if(isXML!=null)
|
||||
{
|
||||
Document doc = null;
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
doc = dBuilder.parse(isXML);
|
||||
} catch (Exception ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
Node reqNode = doc.getDocumentElement();
|
||||
|
||||
Node nextnode=reqNode.getFirstChild();
|
||||
while(nextnode!=null)
|
||||
{
|
||||
if(nextnode.getNodeName().equals("string"))
|
||||
{
|
||||
String name=nextnode.getAttributes().getNamedItem("name").getNodeValue();
|
||||
String val="";
|
||||
if(nextnode.getFirstChild()!=null)
|
||||
val=nextnode.getFirstChild().getNodeValue();
|
||||
|
||||
//Если нет то добавляю
|
||||
boolean exists=false;
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and identifier='"+name+"' and l.short_name='"+user.lng+"';";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
if(exists)
|
||||
{
|
||||
logger.info(name+" = "+val+" exists");
|
||||
//Если идентификатор сушествует то проверяю совпадает ли сам перевод (просто для информации)
|
||||
boolean equals=false;
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and t.identifier='"+name+"' and t.translation='"+val+"' and l.short_name='"+user.lng+"';";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
equals=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
if(equals)
|
||||
{
|
||||
logger.info(name+" = "+val+" equals");
|
||||
}else
|
||||
{
|
||||
logger.info(name+" = "+val+" not equals");
|
||||
}
|
||||
|
||||
}else
|
||||
{
|
||||
logger.info(name+" = "+val+" not exists");
|
||||
|
||||
//Вставляю новую запись в базу
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
try {
|
||||
String sql="insert into main._translations(language_id,identifier,translation,translation_type_id) select (select l.id from main._languages l where l.del=false and l.short_name='"+user.lng+"'),'"+name+"' as identifier,'"+val+"' as translation,3 as translation_type_id;";
|
||||
st.execute(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
nextnode = nextnode.getNextSibling();
|
||||
}
|
||||
}*/
|
||||
//Читаю перевод из properties файлов и записываю в базу под номером 1
|
||||
/*InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||
if(utf8in!=null)
|
||||
{
|
||||
Properties props=new Properties();
|
||||
Reader reader;
|
||||
try {
|
||||
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||
props.load(reader);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
}catch (IOException e) {
|
||||
}
|
||||
//Также подгружаю перевод из XML файла Android проекта
|
||||
//Translation.loadTranslationFromXML(props,getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml"));
|
||||
|
||||
Set<Object> keys = props.keySet();
|
||||
for(Object k:keys){
|
||||
String key = (String)k;
|
||||
String val = props.getProperty(key,"");
|
||||
|
||||
|
||||
|
||||
//Если нет то добавляю
|
||||
boolean exists=false;
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and identifier='"+key+"' and l.short_name='"+user.lng+"' and translation_type_id=1;";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
exists=true;
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
if(exists)
|
||||
{
|
||||
logger.info(key+" = "+val+" exists");
|
||||
}else
|
||||
{
|
||||
logger.info(key+" = "+val+" not exists");
|
||||
//Вставляю новую запись в базу
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
try {
|
||||
String sql="insert into main._translations(language_id,identifier,translation,translation_type_id) select (select l.id from main._languages l where l.del=false and l.short_name='"+user.lng+"'),'"+key+"' as identifier,'"+val+"' as translation,1 as translation_type_id;";
|
||||
st.execute(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
//Для перевода выбираю всё что под номером 1 в переводе
|
||||
try {
|
||||
m_props = new Properties();
|
||||
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1;";
|
||||
ResultSet rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
while (rs.next())
|
||||
{
|
||||
String identifier = rs.getString("identifier");
|
||||
String translation = rs.getString("translation");
|
||||
m_props.setProperty(identifier, translation);
|
||||
}
|
||||
rs.close();
|
||||
}
|
||||
stt.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
Set<Object> keys = m_props.keySet();
|
||||
for(Object k:keys){
|
||||
String key = (String)k;
|
||||
String val="";
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = m_props.getProperty(key,"");
|
||||
if(val.equals(""))
|
||||
{
|
||||
val = val.replaceAll("_", " ");
|
||||
}
|
||||
}
|
||||
model.addAttribute(key,val);
|
||||
}
|
||||
|
||||
|
||||
//Подложка Substrate_head Substrate_tail
|
||||
String Substrate_head="";
|
||||
String Substrate_tail="";
|
||||
if(!user.country_id.equals(""))
|
||||
{
|
||||
try {
|
||||
Statement st = conn.createStatement();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
String sql="SELECT id,path,description,projection FROM main.layouts where del=false and country_id="+user.country_id+" order by description";
|
||||
rs = st.executeQuery(sql);
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
}
|
||||
if(rs!=null)
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
Substrate_head+=" <option value=\""+rs.getString("id")+"\">"+rs.getString("description")+"</option>\n";
|
||||
|
||||
Substrate_tail+="g_Layouts[\""+rs.getString("id")+"\"] = new ol.source.XYZ({\n";
|
||||
Substrate_tail+=" url: '"+rs.getString("path")+"',\n";
|
||||
if(rs.getString("projection")!=null && rs.getString("projection").indexOf("EPSG:")!=-1)
|
||||
Substrate_tail+=" projection: '"+rs.getString("projection")+"',\n";
|
||||
Substrate_tail+=" });\n";
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch( SQLException ex )
|
||||
{
|
||||
}
|
||||
}
|
||||
model.addAttribute("Substrate_head",Substrate_head);
|
||||
model.addAttribute("Substrate_tail",Substrate_tail);
|
||||
|
||||
//Выбираю дату получения NDVI данных по номеру дня
|
||||
/*{
|
||||
int maxNum=1;
|
||||
try {
|
||||
File folder = new File(ndvi_dir);
|
||||
File[] listOfFiles = folder.listFiles();
|
||||
if(listOfFiles!=null)
|
||||
{
|
||||
for (int i = 0; i < listOfFiles.length; i++)
|
||||
{ if (listOfFiles[i].isFile())
|
||||
{
|
||||
if(Tools.afterLast(listOfFiles[i].getName(),".").equals("json"))
|
||||
{
|
||||
int num=1;
|
||||
try {
|
||||
num=1+Integer.valueOf(Tools.beforeLast(listOfFiles[i].getName(),"."));
|
||||
}catch(Exception ex)
|
||||
{
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
if(num>maxNum) maxNum=num;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Exception ex)
|
||||
{
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
Year y = Year.of( Calendar.getInstance().get(Calendar.YEAR) ) ;
|
||||
model.addAttribute("NDVI_DATE",y.atDay( maxNum ).toString());
|
||||
model.addAttribute("NDVI_DAY",String.valueOf(maxNum));
|
||||
}*/
|
||||
|
||||
//Выбираю дату получения NDWI данных по номеру дня
|
||||
/*{
|
||||
int maxNum=1;
|
||||
try {
|
||||
File folder = new File(ndwi_dir);
|
||||
File[] listOfFiles = folder.listFiles();
|
||||
if(listOfFiles!=null)
|
||||
{
|
||||
for (int i = 0; i < listOfFiles.length; i++)
|
||||
{ if (listOfFiles[i].isFile())
|
||||
{
|
||||
if(Tools.afterLast(listOfFiles[i].getName(),".").equals("json"))
|
||||
{
|
||||
int num=1;
|
||||
try {
|
||||
num=1+Integer.valueOf(Tools.beforeLast(listOfFiles[i].getName(),"."));
|
||||
}catch(Exception ex)
|
||||
{
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
if(num>maxNum) maxNum=num;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Exception ex)
|
||||
{
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
Year y = Year.of( Calendar.getInstance().get(Calendar.YEAR) ) ;
|
||||
model.addAttribute("NDWI_DATE",y.atDay( maxNum ).toString());
|
||||
model.addAttribute("NDWI_DAY",String.valueOf(maxNum));
|
||||
}*/
|
||||
|
||||
|
||||
try{ conn.close(); }catch(Exception e){}
|
||||
return "engine/index";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext context){
|
||||
this.context=context;
|
||||
}
|
||||
|
||||
//Перевести слово по идентификатору из базы а если в базе нет то из файлов перевода
|
||||
public String trt(Connection conn,String key,User user)
|
||||
{
|
||||
String result="";
|
||||
if(key.equals(""))
|
||||
return result;
|
||||
|
||||
try {
|
||||
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
String sql_query = "select case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and identifier='"+key+"' and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1));";
|
||||
ResultSet rs = stt.executeQuery(sql_query);
|
||||
if (rs != null) {
|
||||
try {
|
||||
if (rs.next())
|
||||
result=rs.getString(1);
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
rs.close();
|
||||
}
|
||||
stt.close();
|
||||
} catch (SQLException ex) {
|
||||
logger.info(ex.getMessage());
|
||||
}
|
||||
|
||||
if(result.equals(""))
|
||||
{
|
||||
result = key.replaceAll("_", " ");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
21
src/main/java/kz/locust/CCALM/recReq/RecReq.java
Normal file
21
src/main/java/kz/locust/CCALM/recReq/RecReq.java
Normal file
@ -0,0 +1,21 @@
|
||||
package kz.locust.CCALM.recReq;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class RecReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public int fn;
|
||||
public int cmd;
|
||||
|
||||
public int getFn()
|
||||
{
|
||||
return fn;
|
||||
}
|
||||
public int getCmd()
|
||||
{
|
||||
return cmd;
|
||||
}
|
||||
|
||||
}
|
||||
535
src/main/java/messages_az.properties_not_used
Normal file
535
src/main/java/messages_az.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Language = Language
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
534
src/main/java/messages_en.properties_not_used
Normal file
534
src/main/java/messages_en.properties_not_used
Normal file
@ -0,0 +1,534 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
535
src/main/java/messages_hy.properties_not_used
Normal file
535
src/main/java/messages_hy.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
535
src/main/java/messages_ka.properties_not_used
Normal file
535
src/main/java/messages_ka.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
535
src/main/java/messages_kg.properties_not_used
Normal file
535
src/main/java/messages_kg.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
534
src/main/java/messages_ps.properties_not_used
Normal file
534
src/main/java/messages_ps.properties_not_used
Normal file
@ -0,0 +1,534 @@
|
||||
language = ps
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
540
src/main/java/messages_ru.properties_not_used
Normal file
540
src/main/java/messages_ru.properties_not_used
Normal file
@ -0,0 +1,540 @@
|
||||
language = ru
|
||||
Language = Язык
|
||||
label_registration = Регистрация
|
||||
label_login = Войти на сайт
|
||||
From_DPA = С планшета
|
||||
Days = Дней
|
||||
Hours = Часов
|
||||
Company_User = Компания -> Пользователь
|
||||
Object_Geofence = Объект –> Геозона
|
||||
Sensor_for_ComboBox = Датчик для выпадающего списка
|
||||
The_boundary_values_of_the_sensors = Граничные значения датчиков.
|
||||
CountriesRegions = Границы регионов
|
||||
Types_of_locust = Виды саранчи
|
||||
Help = Помощь
|
||||
Unknown_function = Неизвестная функция!
|
||||
Not_yet_implemented = Пока не реализовано!
|
||||
Layout = Слой
|
||||
Company = Компания
|
||||
Path = Путь
|
||||
Description = Описание
|
||||
Layouts = Слои
|
||||
Type_of_locust = Вид саранчи
|
||||
Kind_of_locust = Вид саранчи
|
||||
Sorting_index = Индекс сортировки
|
||||
Name = Имя
|
||||
Types_of_locust = Вид саранчи
|
||||
Markings = Маркировка
|
||||
Formulation = Препаративная форма
|
||||
Vegetation = Растительность
|
||||
Fledgling = Окрыление
|
||||
Age = Возраст
|
||||
Biotop = Биотоп
|
||||
Capacity = Ёмкость
|
||||
Capacities = Ёмкости
|
||||
Borns = Отрождение
|
||||
Сontainers = Контейнеры
|
||||
Breeding = Поведение
|
||||
Containers = Контейнеры
|
||||
Types_of_operators = Типы операторов
|
||||
Types_of_operator = Тип оператора
|
||||
Density_of_vegetation = Густота растительного покрова
|
||||
Height = Высота
|
||||
Damage = Повреждения
|
||||
Density = Плотность
|
||||
Directions = Направления
|
||||
Angle = Угол
|
||||
Methods_of_calculating_mortality = Методы подсчёта смертности
|
||||
Method_of_calculating_mortality = Метод подсчёта смертности
|
||||
Phase = Фаза
|
||||
Condition_of_vegetation = Состояние растительности
|
||||
Actions_of_bands = Действия кулиги
|
||||
Behaviors = Поведение
|
||||
Paintings = Окраска
|
||||
Painting = Окрас
|
||||
Enemies = Наличие естественных врагов
|
||||
Report_by_tablets = Отчёт по планшетам
|
||||
Country = Страна
|
||||
From_date = С даты
|
||||
To_date = По дату
|
||||
The_tabblet = Планшет
|
||||
Forms_for_locust_survey = Формы обследования саранчи
|
||||
Forms_for_spray_monitoring = Формы мониторинга противосаранчовых обработок
|
||||
Completed_forms_by_tablets = Заполнение форм по планшетам
|
||||
Filling_forms_by_countries = Заполнение форм по странам
|
||||
Method_filling_form = Способ заполнения формы
|
||||
The_tablet_registered = Планшет зарегистрирован
|
||||
IDENTIFICATION_OF_THE_PLACE = ИДЕНТИФИКАЦИЯ МЕСТА
|
||||
Region = Область
|
||||
Regions = Области
|
||||
Rayon = Район
|
||||
Rual_district = Сельский округ
|
||||
Name_of_the_village = Поселок
|
||||
Farm_or_site = Хозяйство или местность
|
||||
Name_of_survey_team_leader = Имя лидера команды обследования
|
||||
Date = Дата
|
||||
Latitude_of_point = Широта точки
|
||||
Longitude_of_point = Долгота точки
|
||||
Surveyed_area_ha = Обследованная площадь(га)
|
||||
ECOLOGICAL_INFORMATION = ЭКОЛОГИЧЕСКАЯ ИНФОРМАЦИЯ
|
||||
Type_of_biotope = Тип биотопа
|
||||
Vegetation_cover = Густота растительного покрова
|
||||
Air_temperature = Погода: температура воздуха(ºC)
|
||||
Wind_m_s = Погода: ветер(м/с)
|
||||
bio_wind = Погода: ветер(м/с)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = ИНФОРМАЦИЯ О САРАНЧОВЫХ (В Т.Ч. КУБЫШКИ)
|
||||
Present = Присутствуют саранчовые
|
||||
Locust_species = Вид саранчи
|
||||
Area_infested_ha = Заселённая площадь(га)
|
||||
EGGS = ЯЙЦА
|
||||
Egg_bed_surface_in_ha = Залежь кубышек (площадь га)
|
||||
Egg_pods_density_m2 = Плотность кубышек (/м²)
|
||||
Egg_pods_density = Плотность кубышек
|
||||
Egg_pod = Кубышки
|
||||
to = до
|
||||
Eggs_average_number_egg_pod = Яйца (в среднем в кубышке)
|
||||
Eggs_viable = Яйца(% жизнеспособных)
|
||||
Natural_enemies_present = Естественны враги
|
||||
HOPPERS_SCATTERED = ЛИЧИНКИ (РАЗРЕЖЕННЫЕ)
|
||||
Hatching = Отрождение
|
||||
Hopper_stages = Возраст личинок
|
||||
Appearance = Фаза
|
||||
Behaviour = Поведение
|
||||
Hopper_density_m2 = Плотность личинок (/м²)
|
||||
Hopper_density = Плотность личинок
|
||||
Hopper_density_m2_to = Плотность личинок (/м²) до
|
||||
HOPPER_BANDS = КУЛИГИ
|
||||
Minimum_density_in_the_band_in_m2 = Плотность минимальная в кулиге (/м²)
|
||||
Maximum_density_in_the_band_in_m2 = Плотность максимальная в кулиге (/м²)
|
||||
Band_sizes_m2 = Размер кулиг (м²)
|
||||
Number_of_bands = Количество кулиг
|
||||
Behavior = Поведение
|
||||
ADULTS = ИМАГО
|
||||
Fledging = Окрыление
|
||||
Maturity = Половозрелость
|
||||
Adult_density_ha = Плотность имаго /га
|
||||
Adult_density_m2 = Имаго (плотность/м²)
|
||||
Adult_density = Плотность имаго
|
||||
Feeding_and_roosting = Питание и размещение на растениях
|
||||
Copulating = Спаривание
|
||||
Laying = Яйцекладка
|
||||
Flying = Полёты
|
||||
SWARMS = СТАИ
|
||||
Density_of_swarm = Плотность в стае
|
||||
Swarm_size_ha = Размер стаи (га)
|
||||
Number_of_swarms = Число стай
|
||||
Flying_direction = Направление полёта
|
||||
Flying_height = Высота полёта
|
||||
COMMENTS = КОММЕНТАРИИ
|
||||
Locust_Survey_Form = Форма обследования саранчи
|
||||
Locust_Survey_Forms = Формы обследования саранчи
|
||||
From_the_tablet = С планшета
|
||||
From_WEB_interface = С WEB интерфейса
|
||||
User = Пользователь
|
||||
Weather_air_temperature_C = Погода: температура воздуха(ºC)
|
||||
Weather = Погода
|
||||
larva_behavior = Поведение
|
||||
Spray_Monitoring_Form = Форма противосаранчовых обработок
|
||||
Rural_district = Сельский округ
|
||||
Name_of_control_team_leader = Имя лидера команды по обработке
|
||||
Latitude_center_portion = Широта (центр участка)
|
||||
Longitude_center_portion = Долгота (центр участка)
|
||||
Area_treated_ha = Обработанная площадь(га)
|
||||
VEGETATION_DATA = РАСТИТЕЛЬНОСТЬ
|
||||
Kind = Вид
|
||||
Type = Тип
|
||||
type = тип
|
||||
types = типы
|
||||
Height_cm = Высота (см)
|
||||
Crop_name = Наименование сельхозкультуры
|
||||
Damage_area_ha = Площадь повреждения (га)
|
||||
INSECTICIDE_DATA = ИНФОРМАЦИЯ ОБ ИНСЕКТИЦИДАХ
|
||||
Trade_name = Коммерческое название
|
||||
The_active_substance = Действующее вещество
|
||||
Concentration_A_S = Концентрация (%)
|
||||
Dose_rate_l_of_commercial_product_ha = Норма расхода (л коммерческого продукта/гa)
|
||||
Rate_of_working_solution_l_ha = Расход рабочей жидкости (л/га)
|
||||
Total_volume_of_working_solution_actually_applied_l = Общий объем использованной рабочей жидкости (л)
|
||||
Number_of_spores_ml = Концентрация спор(/мл)
|
||||
WEATHER_CONDITIONS = ПОГОДНЫЕ УСЛОВИЯ
|
||||
Time_start = Время начала обработки
|
||||
Time_end = Время окончания обработки
|
||||
Temperature_start = Температура нач.(°C)
|
||||
Temperature_end = Температура кон.(°C)
|
||||
Relative_humidity_start = Отн. влажность воздуха нач.(%)
|
||||
Relative_humidity_end = Отн. влажность воздуха кон.(%)
|
||||
Wind_speed_start_m_s = Скорость ветра нач. (м/с)
|
||||
Wind_speed_end_m_s = Скорость ветра кон. (м/с)
|
||||
Wind_direction_start = Направление ветра нач.
|
||||
Wind_direction_end = Направление ветра кон.
|
||||
Spray_direction_start = Направление опрыскивания нач.
|
||||
Spray_direction_end = Направление опрыскивания кон.
|
||||
LOCUST_INFORMATION = ИНФОРМАЦИЯ О САРАНЧОВЫХ (В Т.Ч. КУБЫШКИ)
|
||||
Imago = Имаго
|
||||
Density_m2 = Плотность на м²
|
||||
Bands = Кулиги
|
||||
Swarms = Стаи
|
||||
Scattered = Разреженные
|
||||
SPRAY_APPLICATION = СВЕДЕНИЯ ПО ОПРЫСКИВАНИЮ
|
||||
Spray_platform = Способ опрыскивания
|
||||
Aerial = Авиа
|
||||
Ground = Наземное
|
||||
Person = Ручное
|
||||
Spray_type = Вид опрыскивания
|
||||
Spray_manufacturer = Марка опрыскивателя
|
||||
Model_sprayer = Модель опрыскивателя
|
||||
Atomizer_height_above_ground_m = Высота распылителя над поверхностью почвы (м)
|
||||
Barriers = Барьеры
|
||||
Barrier_width_m = Ширина барьера (м)
|
||||
Spacing_of_barriers_m = Промежуток барьера (м)
|
||||
spray_height = Высота над поверхностью почвы (м)
|
||||
Forward_speed_km_h = Средняя скорость движения (км/ч)
|
||||
Antenna_DGPS_used = Антенна: DGPS использовалась
|
||||
Ground_marking = Наземная маркировка
|
||||
CONTROL_EFFICACY = КОНТРОЛЬ ЭФФЕКТИВНОСТИ
|
||||
Biological_efficiency_of_treatment = Биологическая эффективность обработки (%)
|
||||
Time_after_treatment_hours = Прошло времени после обработки (часов)
|
||||
Method_of_biological_efficiency_estimation = Метод подсчета биологической эффективности
|
||||
SAFETY_AND_ENVIRONMENT = БЕЗОПАСНОСТЬ И ОКРУЖАЮЩАЯ СРЕДА
|
||||
Protective_clothing = Индивидуальные средства защиты
|
||||
Goggles = Очки
|
||||
Masks = Маска
|
||||
Gloves = Перчатки
|
||||
Overalls = Комбинезон
|
||||
Caps = Шапка
|
||||
Boots = Сапоги
|
||||
Absent = Отсутствуют
|
||||
Protective_clothing_clean_and_in_good_state = Защитная одежда чистая и в хорошем состоянии?
|
||||
Operator_accidentally_exposed_to_insecticide_or_feeling_unwell = Оператор случайно подвергся воздействию инсектицида или плохое самочувствие
|
||||
Inform_abaut_spraying = Оповещенные об обработках
|
||||
Farmer = Фермер
|
||||
Shepherd = Пастух
|
||||
Official = Должностное лицо
|
||||
Beekeeper = Пчеловод
|
||||
Villager = Сельский житель
|
||||
Other = Другие
|
||||
Empty_containers = Пустые контейнеры
|
||||
Effect_on_non_terget_organism = Воздействие на нецелевые организмы
|
||||
If_yes_describe_what_happened_description = Если да, опишите, что произошло
|
||||
if_Yes_type_of_organisms_and_effects_description = Если Да, тип организмов и эффекты (описание)
|
||||
If_Yes_type_of_incident_and_reported_by_whom_description = Если Да, тип инцидента и кем сообщен (описание)
|
||||
Other_environmental_or_health_incident_reported_that_might_have_been_caused_by_the_treatment = Другие инциденты по здоровью или окружающей среде, возникшие при обработке
|
||||
Comments = Коментарии
|
||||
Spray_Monitoring_Forms = Формы противосаранчовых обработок
|
||||
Information_on_the_distribution_of_locust = Информация о распространении и борьбе со стадными саранчовыми
|
||||
Year = Год
|
||||
year = год
|
||||
Inspect_thous_ha = Обследовано (тыс. га)
|
||||
Infested_thous_ha = Заселено (тыс. га)
|
||||
Infested_over_ETD_thous_ha = Заселено выше ЭПВ (тыс. га)
|
||||
Treated_thous_ha = Обработано (тыс. га)
|
||||
The_tablet = Планшеты
|
||||
Organization = Организация
|
||||
Phone_number = Номер телефона
|
||||
Responsible_person = Ответственное лицо за планшет (инспектор)
|
||||
Serial_number = Серийный номер
|
||||
The_tablet_model = Модель планшета
|
||||
The_tablets = Планшеты
|
||||
Phone = Телефон
|
||||
Responsible_person = Ответственное лицо
|
||||
Change_password = Сменить пароль
|
||||
Login = Логин
|
||||
Password = Пароль
|
||||
New_password = Новый пароль
|
||||
Repeat_password = Повторить пароль
|
||||
User_settings = Пользовательские настройки
|
||||
Named = Наименование
|
||||
Value = Значение
|
||||
Values = Значения
|
||||
Object = Объект
|
||||
sensor = сенсор
|
||||
Groups_of_objects = Группы объектов
|
||||
Object_of_observation = Объект наблюдения
|
||||
Access = Доступ
|
||||
Identifier = Идентификатор
|
||||
Allow = Разрешить
|
||||
Sensor = Сенсор
|
||||
objects = объекты
|
||||
Sensor_values = Показание датчика
|
||||
Terminal = Терминал
|
||||
Units_of_measurement = Единицы измерения
|
||||
Fix_date = Дата фиксации
|
||||
Messages = Сообщения
|
||||
Read = Прочтённые
|
||||
Readed = Прочтённые
|
||||
Content = Содержание
|
||||
Date_read = Дата чтения
|
||||
Date_create = Дата создания
|
||||
Day_mileage_and_speed = Дневной пробег и скорость
|
||||
Kilometers_distance = Дистанция км.
|
||||
Kilometers_distance_without_signal = Дистанция км. без сигнала
|
||||
Company_site = Сайт компании
|
||||
Contact_phone = Контактный телефон
|
||||
Organizations = Организации
|
||||
Site = Сайт
|
||||
Users = Пользователи
|
||||
Terminal_model = Модель терминала
|
||||
Models_of_terminals = Модели терминалов
|
||||
Sensor_type = Тип датчика
|
||||
Sensor_of_devices = Датчик оборудования
|
||||
Measurement = Измерение
|
||||
Sensor_model = Модель датчика
|
||||
Rounded_to = Округлять до
|
||||
Sensors_models = Модели датчиков
|
||||
Count_objects = Количество объектов
|
||||
Group = Группа
|
||||
Terminals = Терминалы
|
||||
Stationary = Стационарный
|
||||
Latitude = Широта
|
||||
Longitude = Долгота
|
||||
Icon = Иконка
|
||||
Objects_of_observation = Объекты наблюдения
|
||||
Count_of_sensors = Количество датчиков
|
||||
Icons = Иконки
|
||||
name = имя
|
||||
File = Файл
|
||||
Size = Размер
|
||||
byte = байт
|
||||
Geofence = Геозона
|
||||
Geofences = Геозоны
|
||||
Coordinate = Координаты
|
||||
Coordinates_Geofence = Координаты геозоны
|
||||
Position = Должность
|
||||
True_position = Правильное положение
|
||||
outside = снаружи
|
||||
inside = внутри
|
||||
Boundary = Граничное
|
||||
Inform = Информировать
|
||||
Inside = Внутри
|
||||
Sensor_of_object = Датчик объекта
|
||||
Sensors_of_objects = Датчики объектов
|
||||
Last_value = Последнее значение
|
||||
Date_of_the_last_value = Дата посл. знач.
|
||||
Readings = Показание
|
||||
Devices = Устройства
|
||||
Sensor_readings = Показание датчика
|
||||
GPS_readings = GPS показание
|
||||
Fixation_date = Дата фиксации
|
||||
Speed = Скорость
|
||||
Message = Сообщение
|
||||
Subject = Тема
|
||||
Creation_date = Дата создания
|
||||
Contents = Содержимое
|
||||
User_messages = Сообщения пользователя
|
||||
Reading_date = Дата прочтения
|
||||
Users_messages = Сообщения пользователей
|
||||
Minimum_value = Минимальное значение
|
||||
Maximum_value = Максимальное значение
|
||||
Only_on_the_boundary = Только на границе
|
||||
Action = Действие
|
||||
Rule = Правило
|
||||
Actions = Действия
|
||||
Access_role = Роль доступа
|
||||
Parental_role = Родительская роль
|
||||
Role_name = Наименование роли
|
||||
Role_description = Описание роли
|
||||
Role = Роль
|
||||
Surname = Фамилия
|
||||
Patronymic = Отчество
|
||||
Phones = Телефоны
|
||||
Password_expiration = Срок действия пароля
|
||||
Renewal_password = Продление пароля
|
||||
days = дней
|
||||
day = день
|
||||
S_N_P = Ф.И.О.
|
||||
Last_enter = Посл. заход
|
||||
Roles = Роли
|
||||
User_roles = Пользовательские роли
|
||||
Synchronization_objects = Объекты синхронизации
|
||||
Synchronization_service = Сервис синхронизации
|
||||
Synchronization_order = Порядок синхронизации
|
||||
The_interval_between_the_update_in_s = Интервал между обн. в (сек)
|
||||
At_a_time = Записей за раз
|
||||
Time_of_the_last_synchronization = Времени с последней синхронизации
|
||||
Service = Сервис
|
||||
Order = Порядок
|
||||
Interval = Интервал
|
||||
Limit = Лимит
|
||||
Synchronization_services = Сервисы синхронизации
|
||||
Host = Хост
|
||||
History = История
|
||||
Table = Таблица
|
||||
Field = Поле
|
||||
Data = Данные
|
||||
Short_name = Короткое имя
|
||||
Translation = Перевод
|
||||
Sprayer_type = Вид опрыскивателя
|
||||
Sprayers = Опрыскиватели
|
||||
Sprayer = Опрыскиватель
|
||||
SprayersTypes = Вид опрыскивателя
|
||||
Sprayer_type_name = Наименование опрыскивателя
|
||||
Countries = Страны
|
||||
Regions = Районы
|
||||
Automated_system_of_data_collection = Автоматизированная система сбора данных
|
||||
Download_android_app_Inspector = Скачать андроид приложение инспектора
|
||||
Run_the_application_of_the_situational_center = Запустить приложение ситуационного центра
|
||||
For_any_questions_contact_us_at_tel_Fax = По всем интересующим вопросам обращаться по тел./факс
|
||||
You_are_not_logged_in = Вы не авторизованы!
|
||||
Not_found_the_requested_node: = Не найден запрошенный узел:
|
||||
The_number_of_records_is_not_equal_to_one = Количество записей не равно одному!
|
||||
Filter_options = Параметры фильтра
|
||||
Time_and_date_of_generation = Время и дата генерации
|
||||
Creator = Создатель
|
||||
E_mail_already_exists_in_the_database = Адрес электронной почты уже существует в базе данных!
|
||||
Registration_form = Форма регистрации
|
||||
You_have_successfully_registered = Вы успешно зарегистрировались!
|
||||
Password_sent_to_your_e_mail = Пароль отправлен на ваш е-mail.
|
||||
Operator_registration_form = Форма регистрации оператора
|
||||
Security_Code = Защитный код
|
||||
Update = Обновить
|
||||
image = рисунок
|
||||
Registering = Регистрация
|
||||
Failed_to_send_your_password_to_the_e_mail = Не удалось отправить пароль на электронную почту.
|
||||
Failed_to_update_the_password = Не удалось обновить пароль.
|
||||
configuration_section_s = Раздел конфигурации; %s
|
||||
configuration_option_s = опция конфигурации; %s
|
||||
Locust_survey = Обследования саранчи
|
||||
Spray_monitoring = Противосаранчовые обработки
|
||||
Reports = Отчёты
|
||||
Report = Отчёт
|
||||
Map_layers = Слои карты
|
||||
Administration = Администрирование
|
||||
Standard_survey_forms = Стандартные формы обследования
|
||||
Companies = Компании
|
||||
Report_by_countries = Отчёт по странам
|
||||
Lists = Справочники
|
||||
Members = Пользователи
|
||||
Photo = Фотография
|
||||
Indicator = Показатель
|
||||
PDA_registered = Планшеты зарегистрированы
|
||||
From_PDA = С планшета
|
||||
From_WEB_interface = С WEB интерфейса
|
||||
Open_in_a_table_format = Открыть в табличном виде
|
||||
Request_data = Запросить данные
|
||||
Not = Нет
|
||||
Yes = Да
|
||||
Attention = Внимание
|
||||
Quietly = Спокойно
|
||||
Number_forms = Количество форм
|
||||
Open_data_on_the_map = Открыть данные на карте
|
||||
No_data = Данные отсутствуют
|
||||
From_date = С даты
|
||||
To_date = По дату
|
||||
or = или
|
||||
Dangerous = Опасно
|
||||
Distribution_of_locust = Распространение и борьба со стадными саранчовыми
|
||||
Hide = Скрыть
|
||||
For_what_year = За какой год
|
||||
Displayed_data = Отображаемые данные
|
||||
Automated_system_of_data_collection_ASDC = Автоматизированная система сбора данных (ASDC)
|
||||
Invalid_username_and_or_password = Неверный логин и/или пароль!
|
||||
CIT_Italian_locust = CIT - итальянский прус
|
||||
DMA_Moroccan_locust = DMA - мароккская саранча
|
||||
LMI_Asian_migratory_locust = LMI - азиатская перелетная саранча
|
||||
Substrate = Подложка
|
||||
Change_login_password = Изменить логин/пароль
|
||||
Displaying_data = Отображение данных
|
||||
Show_data = Отобразить данные
|
||||
All_types = Все виды
|
||||
All_kinds = Все виды
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Карты площадей, заселенных с плотностями выше экономического порога вредоносности (ЭПВ)
|
||||
Maps_of_treated_areas_above_ET = Карты обработанных площадей выше ЭПВ
|
||||
Map_of_the_level_of_threat = Карта уровня угрозы
|
||||
Download_QGIS_project = Скачать QGIS проект
|
||||
Danger = Опасно
|
||||
Caution = Внимание
|
||||
Calm = Спокойно
|
||||
Increase = Подъём
|
||||
Decrease = Спад
|
||||
On_the_same_level = На том же уровне
|
||||
Normal_Multiyear_average_level = Нормальный/Среднемноголетний уровень
|
||||
Device_id = Идентификатор устройства
|
||||
All_countries_of_CCA = Страны КЦА
|
||||
The_Caucasus_countries_and_Russia = Страны Кавказа и Россия
|
||||
Countries_of_Central_Asia_and_Russia = Станы Центральной Азии и Россия
|
||||
from = от
|
||||
The_forecast_of_hatching_periods = Прогноз инкубационного периода
|
||||
Weather_forecast = Прогноз погоды
|
||||
soil_temperature = температура почвы
|
||||
Soil_temperature = Температура почвы
|
||||
Passwords_did_not_match = Пароли не совпадают!
|
||||
The_s_is_not_Email = Логин «%s» не электронная почта!
|
||||
Password_changed_successfully = Пароль успешно изменен.
|
||||
Failed_to_change_password = Не удалось изменить пароль.
|
||||
Check_the_entered_data = Проверьте введенные данные.
|
||||
for_ = для
|
||||
Earth_temperature = Температура земли
|
||||
Point = Точка
|
||||
Forecast_of_hours = Часы прогноза
|
||||
hours = часов
|
||||
Change_login_password = Сменить логин/пароль
|
||||
Type = Тип
|
||||
Legend = Легенда
|
||||
Spraying = Опрыскивание
|
||||
Chart = График
|
||||
Average = Среднее
|
||||
Percent = Процент
|
||||
For_s_year = За %s год
|
||||
and = и
|
||||
Time_and_date_of_generation = Дата создания
|
||||
Filter_options = Параметры фильтра
|
||||
Export_to_Excel = Экспорт в Excel
|
||||
Preparing_of_report = Подготовка отчёта
|
||||
Download_report = Скачать отчёт
|
||||
Old_password = Старый пароль
|
||||
Not_filled_Email_address = Не заполнен email
|
||||
Wrong_XML_document = Неверный XML-документ
|
||||
Please_enter_a_valid_email_address = Пожалуйста, введите правильный адрес электронной почты
|
||||
For_new_users = Для новых пользователей
|
||||
For_returning_users = Для вернувшихся пользователей
|
||||
Phone = Телефон
|
||||
Log_in = Авторизоваться
|
||||
Registration = Регистрация
|
||||
Authorization = Авторизация
|
||||
Password_recovery = Восстановление пароля
|
||||
The_s_field_is_empty = Не заполнено поле "%s"
|
||||
New_user_is_registered = Новый пользователь зарегистрирован.
|
||||
The_password_has_been_sent_to_you_by_Email = Пароль отправлен вам на Email.
|
||||
Others = Другие
|
||||
District = Район
|
||||
Districts = Районы
|
||||
All = Всё
|
||||
Region = Область
|
||||
Edit = Редактировать
|
||||
thous_ha = тыс. га
|
||||
Thous_ha = Тыс. га
|
||||
Average = Среднее
|
||||
Year = Год
|
||||
Deviation = Отклонение
|
||||
Dev_of_average = Откл. от среднего
|
||||
Cancel = Отмена
|
||||
Responsible_person_for_data_verification = Ответственное лицо по верификации данных
|
||||
Upload = Загрузить
|
||||
Delete = Удалить
|
||||
Download = Скачать
|
||||
Repeat_the_addition_of_the_entry = Повторить добавление записи
|
||||
Apply = Применить
|
||||
Calcel = Закрыть
|
||||
Hoppers = Личинки (разреженные)
|
||||
Kuliguli = Кулиги
|
||||
Adult = Имаго
|
||||
Restore = Восстановить
|
||||
Add_more = Добавить ещё
|
||||
Successfully_added_data = Данные успешно добавлены
|
||||
Are_you_sure_you_want_to_delete_the_entries = Вы действительно хотите удалить записи?
|
||||
Increase_by_1 = Увеличить на 1
|
||||
Decrease_by_1 = Уменьшить на 1
|
||||
No_results_were_found_for_your_search = По вашему запросу ничего не найдено!
|
||||
Selection = Выбор
|
||||
Add_record = Добавить запись
|
||||
Delete_record = Удалить записи
|
||||
Filtering = Фильтровать
|
||||
Invert_selection = Инвертировать выделение
|
||||
No_locust = Нет саранчи
|
||||
|
||||
Triple_rinsed=Трижды промытые
|
||||
Punctured=Проколотые
|
||||
Taken_back_to_base=Возвращенные на базу
|
||||
Left_in_field=Оставленные в поле
|
||||
Buried=Закопанные
|
||||
Burned=Сожженные
|
||||
535
src/main/java/messages_tg.properties_not_used
Normal file
535
src/main/java/messages_tg.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
535
src/main/java/messages_tk.properties_not_used
Normal file
535
src/main/java/messages_tk.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
535
src/main/java/messages_uz.properties_not_used
Normal file
535
src/main/java/messages_uz.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
534
src/main/java/not_used
Normal file
534
src/main/java/not_used
Normal file
@ -0,0 +1,534 @@
|
||||
language = en
|
||||
Language = Language
|
||||
label_registration = Registration
|
||||
label_login = Log In
|
||||
Types_of_locust = Kinds of locust
|
||||
Unknown_function = Unknown function!
|
||||
Not_yet_implemented = Not yet implemented!
|
||||
Type_of_locust = Type of locust
|
||||
Kind_of_locust = Kind of locust
|
||||
Name = Name
|
||||
Types_of_locust = Kinds of locust
|
||||
Age = Age
|
||||
Biotop = Biotop
|
||||
Sorting_index = Index of sorting
|
||||
Capacity = Capacity
|
||||
Capacities = Capacities
|
||||
Types_of_operators = Types of operators
|
||||
Types_of_operator = Types of operator
|
||||
Density_of_vegetation = Density of vegetation
|
||||
Damage = Damage
|
||||
Density = Density
|
||||
Directions = Directions
|
||||
Angle = Angle
|
||||
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||
Method_of_calculating_mortality = Method of calculating mortality
|
||||
Phase = Phase
|
||||
Condition_of_vegetation = Vegetation state
|
||||
Actions_of_bands = Actions of hopper bands
|
||||
Behaviors = Behaviour
|
||||
Paintings = Paintings
|
||||
Painting = Painting
|
||||
Report_by_inspectors = Report by inspectors
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Surname = Surname
|
||||
Patronymic = Patronymic
|
||||
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||
FrmLocust = FrmLocust
|
||||
User = User
|
||||
Photo = Photo
|
||||
Photo_name = Photo name
|
||||
Country = Country
|
||||
Area = Area
|
||||
Region = Region
|
||||
District = District
|
||||
Observer = Observer
|
||||
Date = Date
|
||||
Terrain = Terrain
|
||||
Latitude = Latitude
|
||||
Longitude = Longitude
|
||||
bio_hectare = Surveyed area (ha)
|
||||
bio_biotope = Type of habitat
|
||||
bio_greenery = Vegetation
|
||||
bio_greenery_cover = The vegetation cover
|
||||
bio_temperature = Weather: air temperature (ºC)
|
||||
Weather = Weather
|
||||
bio_wind = Weather: wind (m/s)
|
||||
Wind_m_s = Weather: wind (m/s)
|
||||
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||
Air_temperature = Weather: air temperature (ºC)
|
||||
locust_have = Present locusts
|
||||
locust_populated = Populated area (ha)
|
||||
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||
eggs_capsules_density = Potbelly (density per m²)
|
||||
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||
eggs_capsules = Eggs (average per pod)
|
||||
eggs_live = Eggs (% viable)
|
||||
eggs_enemies = The presence of natural enemies (what?)
|
||||
larva_born = Born
|
||||
larva_age = Age
|
||||
larva_painting = Painting
|
||||
larva_behavior = Behavior
|
||||
larva_density = Density (per m²)
|
||||
kuliguli_age = Mean age
|
||||
kuliguli_density = Tighter. in the swarm (in m²)
|
||||
kuliguli_size = Swarms size (m²)
|
||||
kuliguli_count = By swarms
|
||||
kuliguli_action = Behavior
|
||||
imago_wing = Stand on the wing
|
||||
imago_maturity = Maturity
|
||||
imago_phase = Phase
|
||||
imago_action = Behavior
|
||||
imago_density = Density (per he.)
|
||||
imago_copulation = Mating or egg-laying
|
||||
imago_flying = Flying
|
||||
swarm_maturity = Maturity
|
||||
swarm_density = Density (per m²)
|
||||
swarm_size = Size rooms (per km²)
|
||||
swarm_count = Count of swarms
|
||||
swarm_copulation = Mating or egg-laying
|
||||
swarm_flying = Flying
|
||||
swarm_height = Height
|
||||
Description = Description
|
||||
Inspector = Inspector
|
||||
Changed = Changed
|
||||
Lon = Longitude
|
||||
Lat = Latitude
|
||||
locust_type = Kind of locust
|
||||
imago_laying = Egg-laying
|
||||
swarm_laying = Egg-laying
|
||||
Comments = Comments
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Spray_Monitoring_Forms = Spray monitoring forms
|
||||
FrmLocustDel = Standard forms for locust
|
||||
infested_area = Populated area (ha)
|
||||
treated_area = Cultivated area (ha)
|
||||
vegetation_type = Type (wild, cultural)
|
||||
Vegetation_type = Vegetation type
|
||||
vegetation_height = Height (m)
|
||||
vegetation_cover = Vegetation cover (%)
|
||||
vegetation_crop = Vegetation
|
||||
vegetation_damage = Damage to vegetation cover (%)
|
||||
vegetation_damage_area = Area damage
|
||||
insecticide_name = Commercial name
|
||||
The_active_substance = The active substance
|
||||
insecticide_concentration = Concentration (%)
|
||||
insecticide_formulation = Formulation
|
||||
insecticide_dose = Consumption rate (l/ha)
|
||||
insecticide_rate = Working fluid flow (l/ha)
|
||||
insecticide_expiry_date = Expiration
|
||||
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||
insecticide_mixed_name = Solvent
|
||||
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||
weather_time_start = Start time
|
||||
weather_time_end = End time
|
||||
weather_temperature_start = Temperature at the start (°C)
|
||||
weather_temperature_end = Temperature at the end (°C)
|
||||
weather_humidity_start = Humidity start (%)
|
||||
weather_humidity_end = Humidity end (%)
|
||||
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||
weather_direction_start = Start direction
|
||||
weather_direction_end = End direction
|
||||
weather_spray_direction_start = Spray direction at the start
|
||||
weather_spray_direction_end = Spray direction at the end
|
||||
locust_speciese = Species
|
||||
locust_hoppers = Instar larvae
|
||||
locust_density = Density (per m²)
|
||||
spray_platform = Spray platform
|
||||
spray_operator = Operator of spraying
|
||||
spray_operator_name = Name of operator
|
||||
spray_manufacturer_name = Brand sprayer
|
||||
spray_model_name = Model of sprayer
|
||||
spray_date_calibration = Date of last calibration
|
||||
spray_height = Atomizer height above ground (m)
|
||||
spray_width = Width (m)
|
||||
spray_barrier = Barriers (m)
|
||||
spray_speed = Speed (km/h)
|
||||
spray_gps = Antenna: GPS used
|
||||
spray_marking = Ground marking
|
||||
efficacy_mortality = Locust mortality (%)
|
||||
efficacy_passed_time = Elapsed time after working
|
||||
efficacy_mortality_method = Method of counting mortality
|
||||
safety_clothing = What protective clothing used operator
|
||||
safety_inform = Who was notified about the workings?
|
||||
safety_non_target = Impact on non-target organisms
|
||||
safety_non_target_effect = If yes, what?
|
||||
description = description
|
||||
locust_kuliguli = Kuligi
|
||||
locust_swarm = Swarms
|
||||
locust_sparse = Sparse
|
||||
Air_platform = Air platform
|
||||
Ground_platform = Ground platform
|
||||
Hand_platform = Hand platform
|
||||
Type_of_operator = Type of operator
|
||||
spray_barrier_width = Width (m)
|
||||
spray_barrier_space = Space (m)
|
||||
Terminal = Terminal
|
||||
Named = Name
|
||||
Phone = Phone
|
||||
Serial_number = Serial number
|
||||
Terminal_model = Terminal model
|
||||
Terminals = Terminals
|
||||
Coordinates_Geofence = Coordinates of geozone
|
||||
Geofence = Geozone
|
||||
Change_password = Change password
|
||||
Login = Login
|
||||
Password = Password
|
||||
New_password = New password
|
||||
Repeat_password = Repeat password
|
||||
User_settings = User settings
|
||||
Value = Value
|
||||
Company = Company
|
||||
Values = Values
|
||||
Object = Object
|
||||
sensor = sensor
|
||||
Groups_of_objects = Groups of objects
|
||||
Object_of_observation = Object of observation
|
||||
Access = Access
|
||||
Identifier = Identifier
|
||||
Allow = Allow
|
||||
Sensor = Sensor
|
||||
objects = objects
|
||||
Sensor_values = Sensor values
|
||||
Units_of_measurement = Units of measurement
|
||||
Fix_date = Fix date
|
||||
Messages = Messages
|
||||
Read = Read
|
||||
Readed = Read
|
||||
Content = Content
|
||||
Date_read = Read date
|
||||
Date_create = Date of creation
|
||||
Day_mileage_and_speed = Day mileage and speed
|
||||
Kilometers_distance = Kilometers distance
|
||||
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||
Company_site = Company site
|
||||
Contact_phone = Contact phone
|
||||
Site = Site
|
||||
Users = Users
|
||||
Models_of_terminals = Models of terminals
|
||||
Sensor_type = Sensor type
|
||||
Sensor_of_devices = Sensor of devices
|
||||
Measurement = Measurement
|
||||
Sensor_model = Sensor model
|
||||
Rounded_to = Approximately count to
|
||||
Sensors_models = Sensors models
|
||||
Count_objects = Number of objects
|
||||
Group = Group
|
||||
Stationary = Stationary
|
||||
Icon = Icon
|
||||
Objects_of_observation = Objects of observation
|
||||
Count_of_sensors = Number of sensors
|
||||
Icons = Icons
|
||||
name = name
|
||||
File = File
|
||||
Size = Size
|
||||
byte = byte
|
||||
Geofences = Geozones
|
||||
Geofence = Geozone
|
||||
Coordinate = Coordinate
|
||||
Position = Position
|
||||
True_position = Right location
|
||||
outside = outside
|
||||
inside = inside
|
||||
Boundary = Boundary
|
||||
Inform = Inform
|
||||
Inside = Inside
|
||||
Sensor_of_object = Sensor of object
|
||||
Sensors_of_objects = Sensors of objects
|
||||
Last_value = Last value
|
||||
Date_of_the_last_value = Date of the last value
|
||||
Readings = Measerement
|
||||
Devices = Devices
|
||||
Sensor_readings = Sensor readings
|
||||
GPS_readings = GPS data
|
||||
Fixation_date = Date of fixing
|
||||
Speed = Speed
|
||||
Message = Message
|
||||
Subject = Subject
|
||||
Creation_date = Date of creation
|
||||
Contents = Contents
|
||||
User_messages = User messages
|
||||
Reading_date = Reading date
|
||||
Users_messages = Users messages
|
||||
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||
Minimum_value = Minimum value
|
||||
Maximum_value = Maximum value
|
||||
Only_on_the_boundary = Only on the boundary
|
||||
Action = Action
|
||||
Rule = Rule
|
||||
Actions = Actions
|
||||
Access_role = Access role
|
||||
Parental_role = Parental_role
|
||||
Role_name = Role name
|
||||
Role_description = Role description
|
||||
Role = Role
|
||||
Phones = Phones
|
||||
Password_expiration = Password expiration
|
||||
Renewal_password = Renewal password
|
||||
days = days
|
||||
day = day
|
||||
S_N_P = S.N.P.
|
||||
Last_enter = Last enter
|
||||
Roles = Roles
|
||||
User_roles = User roles
|
||||
Synchronization_objects = Synchronization objects
|
||||
Synchronization_service = Synchronization service
|
||||
Synchronization_order = Synchronization order
|
||||
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||
At_a_time = Records per one time
|
||||
Time_of_the_last_synchronization = Time of the last synchronization
|
||||
Service = Service
|
||||
Order = Order
|
||||
Interval = Interval
|
||||
Limit = Limit
|
||||
Synchronization_services = Synchronization services
|
||||
Host = Host
|
||||
History = History
|
||||
Table = Table
|
||||
Field = Field
|
||||
Data = Data
|
||||
Short_name = Short name
|
||||
Translation = Translation
|
||||
Sprayer_type = Sprayer type
|
||||
Sprayers = Sprayers
|
||||
Sprayer = Sprayer
|
||||
Sprayer_type_name = Sprayer type name
|
||||
Countries = Countries
|
||||
Regions = Regions
|
||||
Automated_system_of_data_collection = Automated system of data collection
|
||||
Download_android_app_Inspector = Download the android app of Inspector
|
||||
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||
Your_session_is_canceled = Your session is canceled!
|
||||
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||
You_are_not_logged_in = You are not logged in!
|
||||
Not_found_the_requested_node: = Not found the requested node:
|
||||
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||
Registration_Form_Inspector = Registration Form Inspector
|
||||
Post = Post
|
||||
The_device_ID = The device ID
|
||||
Security_Code = Security Code
|
||||
Update = Update
|
||||
image = image
|
||||
Registering = Registering
|
||||
configuration_section_s = configuration section; %s
|
||||
configuration_option_s = configuration option; %s
|
||||
Locust_survey = Locust survey
|
||||
Spray_monitoring = Spray monitoring
|
||||
Reports = Reports
|
||||
Report = Report
|
||||
Map_layers = Map layers
|
||||
Administration = Administration
|
||||
Completed_forms_by_tablets = Completed forms by tablets
|
||||
Filling_forms_by_countries = Filling forms by countries
|
||||
Standard_survey_forms = Standard survey forms
|
||||
Companies = Companies
|
||||
Report_by_countries = Report by countries
|
||||
Lists = Lists
|
||||
Members = Members
|
||||
Photo = Photo
|
||||
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||
Egg_pods_density = Egg-pods density
|
||||
Egg_pod = Egg-pod
|
||||
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||
Number_forms = Number of forms
|
||||
Open_data_on_the_map = Open data on the map
|
||||
From_date = From date
|
||||
To_date = To date
|
||||
Distribution_of_locust = Information on the distribution of locust
|
||||
Hide = Hide
|
||||
For_what_year = For what year
|
||||
Invalid_username_and_or_password = Invalid username and/or password!
|
||||
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||
Method_filling_form = Method of filling the form
|
||||
From_PDA = From tablet
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = PDA registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Displayed_data = Displayed data
|
||||
Adult_density_m2 = Adult (density/m²)
|
||||
Adult_density = Adult density
|
||||
Hopper_density_m2 = Hopper (density/m²)
|
||||
Swarms = Swarms
|
||||
Bands = Hopper bands
|
||||
Band_sizes_m2 = Band sizes (m²)
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Method_filling_form = Method filling form
|
||||
From_DPA = From DPA
|
||||
From_WEB_interface = From WEB interface
|
||||
PDA_registered = Tablets registered
|
||||
Yes = Yes
|
||||
Not = Not
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
Displayed_data = Displayed data
|
||||
Open_in_a_table_format = Open in a table format
|
||||
Request_data = Request data
|
||||
The_tablet = The tablet
|
||||
Spray_Monitoring_Form = Spray Monitoring Form
|
||||
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||
Organization = Organization
|
||||
User_roles = User_roles
|
||||
Layout = Layer
|
||||
Markings = Markings
|
||||
Formulation = Formulation
|
||||
Fledgling = Fledgling
|
||||
Borns = Hatching
|
||||
Breeding = Behaviour
|
||||
Containers = Containers
|
||||
Height = Height
|
||||
Enemies = Natural enemies present
|
||||
Report_by_tablets = Tablets’ report
|
||||
Value = Value
|
||||
Days = Days
|
||||
Hours = Hours
|
||||
Company_User = Company->User
|
||||
Object_Geofence = Object->Geozone
|
||||
Sensor_for_ComboBox = Sensor for drop-down list
|
||||
SprayersTypes = Sprayers Types
|
||||
CountriesRegions = The boundaries of Regions
|
||||
CIT_Italian_locust = CIT - Italian locust
|
||||
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||
Substrate = Substrate
|
||||
Displaying_data = Displaying data
|
||||
Show_data = Show data
|
||||
All_types = All types
|
||||
All_kinds = All kinds
|
||||
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||
Map_of_the_level_of_threat = Map of the level of threat
|
||||
Download_QGIS_project = Download QGIS project
|
||||
Caution = Caution
|
||||
Calm = Calm
|
||||
Danger = Danger
|
||||
Increase = Increase
|
||||
Decrease = Decrease
|
||||
On_the_same_level = On the same level
|
||||
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||
Device_id = Device id
|
||||
All_countries_of_CCA = All countries of CCA
|
||||
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||
Weather_forecast = Weather forecast
|
||||
soil_temperature = soil temperature
|
||||
Soil_temperature = Soil temperature
|
||||
Passwords_did_not_match = Passwords do not coincide!
|
||||
The_s_is_not_Email = The "%s" is not Email!
|
||||
Password_changed_successfully = Password changed successfully.
|
||||
Failed_to_change_password = Failed to change password.
|
||||
Check_the_entered_data = Check the entered data.
|
||||
for_ = for
|
||||
Earth_temperature = Earth temperature
|
||||
Point = Point
|
||||
Forecast_of_hours = Hours of forecast
|
||||
hours = hours
|
||||
Change_login_password = Change login/password
|
||||
Type = Type
|
||||
Legend = Legend
|
||||
Spraying = Spraying
|
||||
Chart = Chart
|
||||
Percent = Percent
|
||||
For_s_year = For %s year
|
||||
and = and
|
||||
Time_and_date_of_generation = Time and date of generation
|
||||
Filter_options = Filter_options
|
||||
Export_to_Excel = Export to Excel
|
||||
Preparing_of_report = Preparing of report
|
||||
Download_report = Download report
|
||||
Old_password = Old password
|
||||
Not_filled_Email_address = Not filled Email address
|
||||
Wrong_XML_document = Wrong XML document
|
||||
Organizations = Organizations
|
||||
Vegetation = Vegetation
|
||||
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||
Log_in = Log in
|
||||
Registration = Registration
|
||||
Password_recovery = Password recovery
|
||||
The_s_field_is_empty = The "%s" field is empty
|
||||
New_user_is_registered = New user is registered.
|
||||
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||
Others = Others
|
||||
Absent = Absent
|
||||
No_data = No data
|
||||
District = District
|
||||
Districts = Districts
|
||||
The_tablets = The tablets
|
||||
Other = Other
|
||||
Regions = Oblasts
|
||||
Region = Oblast
|
||||
All = All
|
||||
Edit = Edit
|
||||
thous_ha = thous. ha
|
||||
Thous_ha = Thous. ha
|
||||
Average = Average
|
||||
Year = Year
|
||||
Deviation = Deviation
|
||||
Dev_of_average = Dev. of average
|
||||
Average = Average
|
||||
Layouts = Layers
|
||||
The_tabblet = Tablet
|
||||
Forms_for_locust_survey = Locust Survey Form
|
||||
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||
The_tablet_registered = The tablet is registered
|
||||
Area_infested_ha = Infested area (ha)
|
||||
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||
Adult_density_ha = Adult density (/ha)
|
||||
Adult_density_m2 = Adult density (/m²)
|
||||
Feeding_and_roosting = Feeding and roosting
|
||||
Density_of_swarm = Swarm density
|
||||
Swarm_size_ha = Swarm size (ha)
|
||||
Number_of_swarms = Number of swarms
|
||||
Flying_direction = Flying direction
|
||||
Flying_height = Flying height
|
||||
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||
Locust_Survey_Form = Locust Survey Form
|
||||
Locust_Survey_Forms = Locust survey forms
|
||||
Latitude_center_portion = Latitude (site center)
|
||||
Longitude_center_portion = Longitude (site center)
|
||||
INSECTICIDE_DATA = Insecticide information
|
||||
Concentration_A_S = Concentration (%)
|
||||
Relative_humidity_start = Relative humidity at the start (%)
|
||||
Relative_humidity_end = Relative humidity at the end (%)
|
||||
Wind_direction_start = Wind direction at the start
|
||||
Wind_direction_end = Wind direction at the end
|
||||
Density_m2 = Density (/m2)
|
||||
Model_sprayer = Sprayer model
|
||||
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||
Inform_abaut_spraying = Informed about spraying
|
||||
Inspect_thous_ha = Surveyed (thous. ha)
|
||||
Responsible_person = Responsible person for the tablet (inspector)
|
||||
Upload = Upload
|
||||
Delete = Delete
|
||||
Download = Download
|
||||
Hoppers = Hoppers (scattered)
|
||||
Kuliguli = Bands
|
||||
Adult = Adult
|
||||
Restore = Restore
|
||||
Add_more = Add more
|
||||
Successfully_added_data = Successfully added data
|
||||
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||
Increase_by_1 = Increase by 1
|
||||
Decrease_by_1 = Decrease by 1
|
||||
No_results_were_found_for_your_search = No results were found for your search!
|
||||
Selection = Selection
|
||||
Add_record = Add record
|
||||
Delete_record = Delete record
|
||||
Filtering = Filtering
|
||||
Invert_selection = Invert selection
|
||||
Antenna_DGPS_used = Antenna: DGPS used
|
||||
No_locust = No locust
|
||||
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||
Triple_rinsed=Triple_rinsed
|
||||
Punctured=Punctured
|
||||
Taken_back_to_base=Taken_back_to_base
|
||||
Left_in_field=Left_in_field
|
||||
Buried=Buried
|
||||
Burned=Burned
|
||||
65
src/main/java/tools/EmailUtility.java
Normal file
65
src/main/java/tools/EmailUtility.java
Normal file
@ -0,0 +1,65 @@
|
||||
//From: http://www.codejava.net/java-ee/jsp/sending-e-mail-with-jsp-servlet-and-javamail
|
||||
package tools;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.mail.Authenticator;
|
||||
import javax.mail.Message;
|
||||
import javax.mail.MessagingException;
|
||||
import javax.mail.PasswordAuthentication;
|
||||
import javax.mail.Session;
|
||||
import javax.mail.Transport;
|
||||
import javax.mail.internet.AddressException;
|
||||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
|
||||
/**
|
||||
* A utility class for sending e-mail messages
|
||||
* @author www.codejava.net
|
||||
*
|
||||
*/
|
||||
public class EmailUtility {
|
||||
|
||||
public static void sendEmail(String host, String port,
|
||||
final String userName, final String password, String toAddress,
|
||||
String subject, String message) throws AddressException,
|
||||
MessagingException
|
||||
{
|
||||
// sets SMTP server properties
|
||||
Properties properties = new Properties();
|
||||
|
||||
properties.put("mail.smtp.host", host);
|
||||
properties.put("mail.smtp.port", port);
|
||||
properties.put("mail.smtp.auth", "true");
|
||||
//properties.put("mail.smtp.starttls.enable","true"); STARTTLS requested but already using SSL
|
||||
properties.put("mail.smtp.EnableSSL.enable","true");
|
||||
properties.put("mail.smtp.socketFactory.port", port);
|
||||
properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
|
||||
//properties.put("mail.debug", "true");
|
||||
|
||||
|
||||
// creates a new session with an authenticator
|
||||
Authenticator auth = new Authenticator() {
|
||||
public PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(userName, password);
|
||||
}
|
||||
};
|
||||
|
||||
Session session = Session.getInstance(properties, auth);
|
||||
|
||||
//creates a new e-mail message
|
||||
Message msg = new MimeMessage(session);
|
||||
|
||||
msg.setFrom(new InternetAddress(userName));
|
||||
InternetAddress[] toAddresses = { new InternetAddress(toAddress) };
|
||||
msg.setRecipients(Message.RecipientType.TO, toAddresses);
|
||||
msg.setSubject(subject);
|
||||
msg.setSentDate(new Date());
|
||||
//msg.setText(message);
|
||||
msg.setContent(message, "text/html; charset=utf-8");
|
||||
|
||||
// sends the e-mail
|
||||
Transport.send(msg);
|
||||
}
|
||||
}
|
||||
94
src/main/java/tools/PreparedStatementNamed.java
Normal file
94
src/main/java/tools/PreparedStatementNamed.java
Normal file
@ -0,0 +1,94 @@
|
||||
package tools;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Types;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class PreparedStatementNamed {
|
||||
|
||||
private class HMap{
|
||||
public String name = "";
|
||||
public int pos = -1;
|
||||
public HMap(String name,int pos) {
|
||||
this.name = name;
|
||||
this.pos = pos;
|
||||
}
|
||||
}
|
||||
|
||||
private List< HMap > fields = new ArrayList< HMap >();
|
||||
private PreparedStatement m_prepStmt;
|
||||
|
||||
public PreparedStatementNamed(Connection conn, String sql) throws SQLException {
|
||||
int cnt=0;
|
||||
int pos = 0;
|
||||
while((pos = sql.indexOf("${")) != -1) {
|
||||
int end = sql.substring(pos).indexOf("}");
|
||||
if (end == -1)
|
||||
end = sql.length();
|
||||
else
|
||||
end += pos+1;
|
||||
cnt++;
|
||||
fields.add(new HMap(sql.substring(pos+2,end-1),cnt));
|
||||
sql = sql.substring(0, pos) + "?" + sql.substring(end); //Removing a parameter from a string
|
||||
}
|
||||
m_prepStmt = conn.prepareStatement(sql);
|
||||
}
|
||||
|
||||
public void setInt(String name, int value) throws SQLException {
|
||||
for(int i=0;i<fields.size();i++) {
|
||||
if(fields.get(i).name.equals(name)) {
|
||||
m_prepStmt.setInt(fields.get(i).pos, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setBoolean(String name, int value) throws SQLException {
|
||||
for(int i=0;i<fields.size();i++) {
|
||||
if(fields.get(i).name.equals(name)) {
|
||||
if(value==0)
|
||||
m_prepStmt.setBoolean(fields.get(i).pos, false);
|
||||
else
|
||||
m_prepStmt.setBoolean(fields.get(i).pos, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setNULLInt(String name) throws SQLException {
|
||||
for(int i=0;i<fields.size();i++) {
|
||||
if(fields.get(i).name.equals(name)) {
|
||||
m_prepStmt.setNull(fields.get(i).pos,Types.INTEGER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setNULLBoolean(String name) throws SQLException {
|
||||
for(int i=0;i<fields.size();i++) {
|
||||
if(fields.get(i).name.equals(name)) {
|
||||
m_prepStmt.setNull(fields.get(i).pos,Types.BOOLEAN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*private int getIndex(String name) {
|
||||
size()
|
||||
} */
|
||||
|
||||
|
||||
public PreparedStatement getPreparedStatement() {
|
||||
return m_prepStmt;
|
||||
}
|
||||
/*public ResultSet executeQuery() throws SQLException {
|
||||
return m_prepStmt.executeQuery();
|
||||
}
|
||||
public void close() throws SQLException {
|
||||
m_prepStmt.close();
|
||||
}*/
|
||||
}
|
||||
21
src/main/java/tools/STools.java
Normal file
21
src/main/java/tools/STools.java
Normal file
@ -0,0 +1,21 @@
|
||||
package tools;
|
||||
|
||||
public class STools {
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
44
src/main/java/tools/User.java
Normal file
44
src/main/java/tools/User.java
Normal file
@ -0,0 +1,44 @@
|
||||
package tools;
|
||||
|
||||
public class User {
|
||||
|
||||
public String id; //User id from database
|
||||
public String name; //Name Surname Patronymic
|
||||
public String language_id; //User language
|
||||
public String role; //User role
|
||||
public String country_id; //User role
|
||||
|
||||
public User()
|
||||
{
|
||||
id="null"; //null <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SQL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ${_user_id} <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
name="___";
|
||||
language_id="1";
|
||||
role="___";
|
||||
country_id="";
|
||||
}
|
||||
public User(String name)
|
||||
{
|
||||
super();
|
||||
id="null";
|
||||
this.name=name;
|
||||
language_id="1";
|
||||
role="___";
|
||||
country_id="";
|
||||
}
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name=name;
|
||||
}
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
public void Logout()
|
||||
{
|
||||
id="null";
|
||||
name="___";
|
||||
language_id="1";
|
||||
role="___";
|
||||
country_id="";
|
||||
}
|
||||
}
|
||||
2
src/main/resources/application.properties
Normal file
2
src/main/resources/application.properties
Normal file
@ -0,0 +1,2 @@
|
||||
spring.servlet.multipart.max-file-size=50MB
|
||||
spring.servlet.multipart.max-request-size=50MB
|
||||
21
src/main/resources/config.xml
Normal file
21
src/main/resources/config.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE xml>
|
||||
<config>
|
||||
|
||||
<db-url>jdbc:postgresql://91.201.214.156:5432/CCALM</db-url>
|
||||
<!--db-url>jdbc:postgresql://127.0.0.1:5432/CCALM</db-url-->
|
||||
<!--db-url>jdbc:postgresql://192.168.0.83:5432/CCALM</db-url-->
|
||||
<db-login>postgres</db-login>
|
||||
<db-password>PasSecrKey1</db-password>
|
||||
|
||||
<mail-host>smtp.yandex.ru</mail-host>
|
||||
<mail-port>465</mail-port>
|
||||
<mail-login>info@ccalm.org</mail-login>
|
||||
<mail-password>fu2lpsoGPGiq1xlRm8ag</mail-password>
|
||||
|
||||
<!--data-dir>O:\temp\CCALM\</data-dir-->
|
||||
<data-dir>/temp/CCALM/</data-dir>
|
||||
|
||||
<metadata>engine/metadata.xml</metadata>
|
||||
|
||||
</config>
|
||||
41
src/main/resources/log4j.xml
Normal file
41
src/main/resources/log4j.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
|
||||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
|
||||
|
||||
<!-- Appenders -->
|
||||
<appender name="console" class="org.apache.log4j.ConsoleAppender">
|
||||
<param name="Target" value="System.out" />
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- Application Loggers -->
|
||||
<logger name="kz.locust.CCALM">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<!-- 3rdparty Loggers -->
|
||||
<logger name="org.springframework.core">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.beans">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.context">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web">
|
||||
<level value="info" />
|
||||
</logger>
|
||||
|
||||
<!-- Root Logger -->
|
||||
<root>
|
||||
<priority value="warn" />
|
||||
<appender-ref ref="console" />
|
||||
</root>
|
||||
|
||||
</log4j:configuration>
|
||||
BIN
src/main/webapp/WEB-INF/lib/commons-fileupload-1.3.3.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/commons-fileupload-1.3.3.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/commons-io-2.5.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/commons-io-2.5.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/gdal.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/gdal.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/javax.mail.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/javax.mail.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/mail-1.4.7.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/mail-1.4.7.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/mailapi-1.4.4.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/mailapi-1.4.4.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/mysql-connector-java-5.1.40-bin.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/mysql-connector-java-5.1.40-bin.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/netcdfAll-4.6.8.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/netcdfAll-4.6.8.jar
Normal file
Binary file not shown.
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
|
||||
|
||||
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
|
||||
|
||||
<!-- Enables the Spring MVC @Controller programming model -->
|
||||
<annotation-driven />
|
||||
|
||||
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
|
||||
<resources mapping="/resources/**" location="/resources/" />
|
||||
|
||||
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
|
||||
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
|
||||
<beans:property name="prefix" value="/WEB-INF/views/" />
|
||||
<beans:property name="suffix" value=".jsp" />
|
||||
</beans:bean>
|
||||
|
||||
<context:component-scan base-package="kz.locust.CCALM" />
|
||||
|
||||
</beans:beans>
|
||||
11
src/main/webapp/WEB-INF/spring/root-context.xml
Normal file
11
src/main/webapp/WEB-INF/spring/root-context.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<!-- Root Context: defines shared resources visible to all other web components -->
|
||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
||||
<property name="maxUploadSize" value="10485760" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
1861
src/main/webapp/WEB-INF/views/engine/index.jsp
Normal file
1861
src/main/webapp/WEB-INF/views/engine/index.jsp
Normal file
File diff suppressed because it is too large
Load Diff
26
src/main/webapp/WEB-INF/views/excel.jsp
Normal file
26
src/main/webapp/WEB-INF/views/excel.jsp
Normal file
@ -0,0 +1,26 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Select the file with CSV to upload and parsing.</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form action="./AcceptCSV" method="post" enctype="multipart/form-data">
|
||||
Select CSV UTF-8 file to upload and export:
|
||||
<input type="file" name="file" id="fileToUpload"><br>
|
||||
<input type="checkbox" name="skip" value="1">Skip first line<Br>
|
||||
<input type="submit" value="Upload" name="submit">
|
||||
</form>
|
||||
<br><br>
|
||||
|
||||
${PreviewTable}
|
||||
|
||||
<br><br><br>
|
||||
<textarea style="width: 1000px;height: 1000px;">${PreviewGEOJSON}</textarea>
|
||||
<br><br><br>
|
||||
<textarea style="width: 1400px;height: 1000px;">${PreviewSQL}</textarea>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
91
src/main/webapp/WEB-INF/views/index.jsp
Normal file
91
src/main/webapp/WEB-INF/views/index.jsp
Normal file
@ -0,0 +1,91 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ page session="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="shortcut icon" href="./resources/favicon.ico" />
|
||||
<title>Automated system of data collection</title>
|
||||
<meta name="yandex-verification" content="2cb5374be0668fe9" />
|
||||
|
||||
<meta name="description" content="According to the implementation of the Road Map program to improve national and regional locust control in the Caucasus and Central Asia (CCA) developed a system of monitoring and analysis designed to control locusts in the CCA using a geographic information system and remote sensing technology">
|
||||
|
||||
<style type="text/css">
|
||||
html,body
|
||||
{
|
||||
height:100%;
|
||||
min-height:100%;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
text-align:center;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.content
|
||||
{
|
||||
max-width:960px;
|
||||
height:100%;
|
||||
min-height:100%;
|
||||
margin:0 auto;
|
||||
text-align:left;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function setCookie (name, value, expires, path, domain, secure)
|
||||
{
|
||||
var exdate=new Date();
|
||||
exdate.setDate(exdate.getDate() + expires);
|
||||
expires=exdate.toUTCString()
|
||||
|
||||
document.cookie = name + "=" + escape(value) +
|
||||
((expires) ? "; expires=" + expires : "") +
|
||||
((path) ? "; path=" + path : "") +
|
||||
((domain) ? "; domain=" + domain : "") +
|
||||
((secure) ? "; secure" : "");
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('locust.kz')>=0){
|
||||
window.location.href = "https://ccalm.org";
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('ccalm.org')>=0 && location.protocol == 'http:'){
|
||||
location.href = location.href.replace(/^http:/, 'https:')
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class='content'>
|
||||
|
||||
<div style="padding: 5px; background-color: #ffa100;"><table cellspacing="0" cellpadding="0" border="0" style="width: 100%"><tr><td style="width: 50px;"><a href="/"><img src="./resources/images/locust.png" style="width: 70px;"></a></td><td style="text-align: right; vertical-align: top;"><!--a href="#" onclick="setCookie ('lng', 'en', 365, '', '', ''); window.location.reload();">English</a--></td></tr></table></div>
|
||||
|
||||
<div style="padding: 5px;">
|
||||
<h1 style="text-align: center;">Caucasus and Central Asia Locusts Management system (CCALM)</h1>
|
||||
<p style="font-size: 14pt; text-indent: 25px;">
|
||||
<img src="./resources/images/locust.png" align="right" style="margin: 5px;">
|
||||
According to the implementation of the Road Map "program to improve national and regional locust control in the Caucasus and Central Asia (CCA)" developed a system of monitoring and analysis designed to control locusts in the CCA using a geographic information system and remote sensing technology.
|
||||
</p>
|
||||
|
||||
<!--p style="font-size: 14pt; text-indent: 25px;">
|
||||
To use the "Automated system of data collection" you have to agree to the <a href="#">terms</a> and <a href="#">sign up</a>.
|
||||
<p-->
|
||||
|
||||
<center>
|
||||
<table border="0"><tr><td style="width: 300px; padding: 20px">
|
||||
<a target="_blank" href="https://play.google.com/store/apps/details?id=kz.istt.locust"><center>Automated system of data collection (ASDC)<br>
|
||||
<img src="./resources/images/google_android_download.png"></center></a>
|
||||
</td><td style="width: 300px; padding: 20px">
|
||||
<a href="#" onclick="window.open('./engine/'); return false;"><center>Caucasus and Central Asia Locusts Management system (CCALM)<br>
|
||||
<img src="./resources/images/flex.png"></center></a>
|
||||
</td></tr></table>
|
||||
</center>
|
||||
|
||||
<br>
|
||||
<center>For any questions contact us at tel./Fax 8(727)3967038, E-mail: <a href="mailto:info@ccalm.org">info@ccalm.org</a>.</center>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
25
src/main/webapp/WEB-INF/views/json.jsp
Normal file
25
src/main/webapp/WEB-INF/views/json.jsp
Normal file
@ -0,0 +1,25 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Select the file with CSV to upload and parsing.</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form action="./AcceptJSON" method="post" enctype="multipart/form-data">
|
||||
Select CSV UTF-8 file to upload and export:
|
||||
<input type="file" name="file" id="fileToUpload"><br>
|
||||
<input type="submit" value="Upload" name="submit">
|
||||
</form>
|
||||
<br><br>
|
||||
|
||||
${PreviewTable}
|
||||
|
||||
<!--br><br><br>
|
||||
<textarea style="width: 1000px;height: 1000px;">${PreviewGEOJSON}</textarea>
|
||||
<br><br><br>
|
||||
<textarea style="width: 1400px;height: 1000px;">${PreviewSQL}</textarea-->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
102
src/main/webapp/WEB-INF/views/privacy.html
Normal file
102
src/main/webapp/WEB-INF/views/privacy.html
Normal file
@ -0,0 +1,102 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ page session="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="shortcut icon" href="./resources/favicon.ico" />
|
||||
<title>Automated system of data collection</title>
|
||||
<meta name="yandex-verification" content="2cb5374be0668fe9" />
|
||||
|
||||
<meta name="description" content="According to the implementation of the Road Map program to improve national and regional locust control in the Caucasus and Central Asia (CCA) developed a system of monitoring and analysis designed to control locusts in the CCA using a geographic information system and remote sensing technology">
|
||||
|
||||
<style type="text/css">
|
||||
html,body
|
||||
{
|
||||
height:100%;
|
||||
width:100%;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
text-align:center;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.content
|
||||
{
|
||||
max-width:960px;
|
||||
margin:0 auto;
|
||||
padding:10px;
|
||||
text-align:left;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
if(window.location.host.indexOf('locust.kz')>=0){
|
||||
window.location.href = "https://ccalm.org";
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('ccalm.org')>=0 && location.protocol == 'http:'){
|
||||
location.href = location.href.replace(/^http:/, 'https:')
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class='content'>
|
||||
|
||||
<h1>Политика конфиденциальности</h1>
|
||||
|
||||
<p align="justify">Компания ДТОО "Институт космической техники и технологий" (в дальнейшем ИКТТ) заботится о конфиденциальности данных своих клиентов. Для этих целей была разработана политика конфиденциальности, включающая правила сбора, использования, раскрытия, передачи и хранения Вашей информации. Ознакомьтесь с нашими правилами соблюдения.</p>
|
||||
|
||||
<h2>Сбор и использование личной информации</h2>
|
||||
|
||||
<p align="justify">Личной информацией являются данные, которые можно использовать для установления личности человека или для связи с ним.
|
||||
Если вы обратитесь в ИКТТ, вас могут попросить предоставить личную информацию. ИКТТ использует ее в соответствии с данной политикой конфиденциальности. Эти сведения могут быть объединены с другими в целях предоставления наших товаров, услуг, материалов и рекламы. Вы не обязаны предоставлять личную информацию, которую мы запросили, но если вы ее не предоставите, во многих случаях мы не сможем предоставить вам свои товары или услуги, а также ответить на ваши запросы.
|
||||
Вот несколько примеров того, какую личную информацию может собирать и использовать ИКТТ.</p>
|
||||
<h2>Какую личную информацию мы собираем</h2>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Когда вы создаете BFT ID, регистрируете свои продукты, обращаетесь для получения кредита, приобретаете продукт, связываетесь с нами или принимаете участие в онлайн-исследовании, мы можем собирать различные сведения, включая ваше имя, почтовый адрес, номер телефона, адрес электронной почты, предпочтительные способы связи, а также данные кредитной карты.</li>
|
||||
<li style="text-align: justify;">Когда вы отправляете подарочные сертификаты и товары, а также приглашаете других пользователей на форумы ИКТТ, мы можем собирать предоставленную вами информацию об этих людях, включая их имена, почтовые адреса, адреса электронной почты и номера телефонов.</li>
|
||||
<li style="text-align: justify;">Мы можем запросить данные удостоверения личности для рассмотрения возможности предоставления кредита или выставления платежного поручения для оплаты товаров через банковское отделение.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Как мы используем личную информацию</h2>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Мы можем использовать личную информацию для внутренних целей, например при проведении аудита, анализа данных и исследований, направленных на улучшение продуктов и услуг, а также способов общения с клиентами.</li>
|
||||
<li style="text-align: justify;">Периодически мы используем собранную личную информацию для рассылки важных уведомлений, например сообщений о покупках и об изменениях в условиях и политиках.</li>
|
||||
<li style="text-align: justify;">Если вы принимаете участие в лотерее, конкурсе или аналогичном мероприятии, мы можем использовать предоставленную вами информацию при организации этих событий.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Сбор и использование информации, не являющейся личной</h2>
|
||||
<p align="justify">Мы также осуществляем сбор данных, которые не указывают непосредственно на конкретного человека. Мы можем собирать, использовать, передавать и раскрывать такие сведения с любой целью. Вот несколько примеров того, какую информацию, не являющуюся личной, мы собираем и используем.</p>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Для того чтобы лучше понимать поведение клиентов и улучшать наши продукты, услуги и рекламу, мы можем собирать такие сведения, как род деятельности, язык, почтовый индекс, телефонный код, идентификатор устройства, местоположение, в котором используется купленный товар.</li>
|
||||
<li style="text-align: justify;">Мы можем также собирать информацию о том, чем интересуются пользователи на нашем веб-сайте, на официальных социальных страницах компании. Данные сведения позволяют нам предоставлять клиентам более полезную информацию, а также понять, какие разделы веб-сайта, продукты и сервисы пользуются повышенным интересом. В контексте данной политики конфиденциальности обобщенные данные рассматриваются в качестве информации, не являющейся личной.</li>
|
||||
</ul>
|
||||
<p align="justify">При объединении информации, не являющейся личной, с личной информацией объединенные данные будут считаться личными, пока они остаются объединенными.</p>
|
||||
<h2>Раскрытие информации третьим лицам</h2>
|
||||
<p align="justify">Эта информация не передается третьим лицам.</p>
|
||||
<h2>Поставщики услуг</h2>
|
||||
<p align="justify">ИКТТ обменивается личными данными пользователей с компаниями, которые предоставляют такие услуги, как обработка информации, выдача или продление срока кредита, выполнение заказов клиентов, доставка продуктов, управление данными клиентов и их расширение, обслуживание клиентов, оценка заинтересованности пользователей в наших продуктах и услугах, а также проведение исследований и опросов с целью определения степени удовлетворенности. Эти компании обязуются защищать ваши данные и могут быть расположены только на территории Республики Казахстан.</p>
|
||||
<h2>Прочее</h2>
|
||||
<p align="justify">Компания ИКТТ может быть обязана раскрыть вашу личную информацию в соответствии с законодательством, требованиями судопроизводства, судебного разбирательства или по запросу государственных органов страны вашего пребывания или других стран. Мы также можем раскрыть вашу личную информацию, если это будет необходимо в целях национальной безопасности, исполнения закона или в иных общественно важных целях.</p>
|
||||
<p align="justify">Мы также можем раскрыть вашу личную информацию, если это будет необходимо для выполнения наших условий или защиты наших операций или пользователей. Кроме того, в случае реорганизации, слияния или продажи компаний мы можем передавать личные данные соответствующей третьей стороне.</p>
|
||||
<h2>Защита личной информации</h2>
|
||||
<p align="justify">ИКТТ очень серьезно относится к защите вашей личной информации. Онлайн-сервисы ИКТТ, такие как Корзина и Личный кабинет, защищают вашу личную информацию во время передачи при помощи шифрования, например по протоколу SSL. Для хранения вашей личной информации ИКТТ использует компьютерные системы с ограниченным доступом, расположенные в помещениях с физическими средствами охраны. Данные Личного кабинета хранятся в зашифрованном виде, в том числе при использовании сторонних хранилищ.</p>
|
||||
<p align="justify">Когда вы пользуетесь некоторыми продуктами, услугами или приложениями Apple, публикуете сообщения в социальных сервисах, ведете переписку в чате, публикуемую вами личную информацию могут видеть, читать, собирать и использовать другие пользователи. Вы несете ответственность за то, какую информацию вы раскрываете в таких случаях. Например, если вы указываете свои имя и адрес электронной почты в обсуждении на форуме или блоге, такая информация становится общедоступной. Проявляйте осторожность в таких ситуациях.</p>
|
||||
<h2>Целостность и хранение личной информации</h2>
|
||||
<p align="justify">С помощью ИКТТ вы легко сможете обеспечить точность, полноту и актуальность своей личной информации. Мы будем хранить вашу личную информацию в течение срока, необходимого для исполнения обязательств, которые указаны в данной политике конфиденциальности, если иное не предусмотрено законом.</p>
|
||||
<h2>Доступ к личной информации</h2>
|
||||
<p align="justify">Вы можете помочь нам обеспечить точность, полноту и актуальность вашей контактной информации и личных предпочтений, выполнив вход в учетную запись на сайте <a href="https://ccalm.org" target="_blank">ccalm.org</a>. Что касается остальных данных, мы обеспечим вам доступ к вашей личной информации, чтобы вы, в частности, могли подать запрос об исправлении или удалении данных, кроме случаев, когда хранение информации предусмотрено законом или необходимо компании ИКТТ для осуществления деятельности в рамках действующего законодательства. Мы можем отказать в исполнении запросов, которые необоснованны либо обременительны, нарушают конфиденциальность других пользователей, не имеют смысла или доступ к которым в соответствии с локальным законодательством не является обязательным. Запросы на доступ к данным, исправление или удаление данных можно подать по электронной почте.</p>
|
||||
<h2>Глобальные обязательства по конфиденциальности</h2>
|
||||
<p align="justify">В целях защиты личной информации мы знакомим сотрудников ИКТТ с рекомендациями по безопасности и конфиденциальности и обеспечиваем их строгое исполнение в компании.</p>
|
||||
<h2>Вопросы о конфиденциальности</h2>
|
||||
<p align="justify">Если у вас возникли вопросы или сомнения по поводу политики конфиденциальности ИКТТ или обработки данных либо вы хотите сообщить о предполагаемом нарушении местных законов о конфиденциальности, свяжитесь с нами по почте info@ccalm.org. Вы можете в любой момент связаться с нами по телефону +7 (727) 229-44-81.</p>
|
||||
<p align="justify"><p align="justify">Мы проверяем все обращения и стараемся отвечать на них в кратчайшие сроки. Если вы недовольны полученным ответом, направьте жалобу в соответствующий регулятивный орган своей страны. Если вы хотите получить исчерпывающую информацию о способах подать жалобу, уместных в ваших обстоятельствах, обратитесь к нам.</p>
|
||||
<p align="justify">Компания ИКТТ периодически обновляет политику конфиденциальности. При изменении политики мы размещаем уведомление об этом на нашем веб-сайте вместе с новым текстом политики конфиденциальности.</p>
|
||||
<p>ДТОО "Институт космической техники и технологий", Almaty, Kazakhstan</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
102
src/main/webapp/WEB-INF/views/privacy.jsp
Normal file
102
src/main/webapp/WEB-INF/views/privacy.jsp
Normal file
@ -0,0 +1,102 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ page session="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="shortcut icon" href="./resources/favicon.ico" />
|
||||
<title>Automated system of data collection</title>
|
||||
<meta name="yandex-verification" content="2cb5374be0668fe9" />
|
||||
|
||||
<meta name="description" content="According to the implementation of the Road Map program to improve national and regional locust control in the Caucasus and Central Asia (CCA) developed a system of monitoring and analysis designed to control locusts in the CCA using a geographic information system and remote sensing technology">
|
||||
|
||||
<style type="text/css">
|
||||
html,body
|
||||
{
|
||||
height:100%;
|
||||
width:100%;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
text-align:center;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.content
|
||||
{
|
||||
max-width:960px;
|
||||
margin:0 auto;
|
||||
padding:10px;
|
||||
text-align:left;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
if(window.location.host.indexOf('locust.kz')>=0){
|
||||
window.location.href = "https://ccalm.org";
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('ccalm.org')>=0 && location.protocol == 'http:'){
|
||||
location.href = location.href.replace(/^http:/, 'https:')
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class='content'>
|
||||
|
||||
<h1>Политика конфиденциальности</h1>
|
||||
|
||||
<p align="justify">Компания ДТОО "Институт космической техники и технологий" (в дальнейшем ИКТТ) заботится о конфиденциальности данных своих клиентов. Для этих целей была разработана политика конфиденциальности, включающая правила сбора, использования, раскрытия, передачи и хранения Вашей информации. Ознакомьтесь с нашими правилами соблюдения.</p>
|
||||
|
||||
<h2>Сбор и использование личной информации</h2>
|
||||
|
||||
<p align="justify">Личной информацией являются данные, которые можно использовать для установления личности человека или для связи с ним.
|
||||
Если вы обратитесь в ИКТТ, вас могут попросить предоставить личную информацию. ИКТТ использует ее в соответствии с данной политикой конфиденциальности. Эти сведения могут быть объединены с другими в целях предоставления наших товаров, услуг, материалов и рекламы. Вы не обязаны предоставлять личную информацию, которую мы запросили, но если вы ее не предоставите, во многих случаях мы не сможем предоставить вам свои товары или услуги, а также ответить на ваши запросы.
|
||||
Вот несколько примеров того, какую личную информацию может собирать и использовать ИКТТ.</p>
|
||||
<h2>Какую личную информацию мы собираем</h2>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Когда вы создаете BFT ID, регистрируете свои продукты, обращаетесь для получения кредита, приобретаете продукт, связываетесь с нами или принимаете участие в онлайн-исследовании, мы можем собирать различные сведения, включая ваше имя, почтовый адрес, номер телефона, адрес электронной почты, предпочтительные способы связи, а также данные кредитной карты.</li>
|
||||
<li style="text-align: justify;">Когда вы отправляете подарочные сертификаты и товары, а также приглашаете других пользователей на форумы ИКТТ, мы можем собирать предоставленную вами информацию об этих людях, включая их имена, почтовые адреса, адреса электронной почты и номера телефонов.</li>
|
||||
<li style="text-align: justify;">Мы можем запросить данные удостоверения личности для рассмотрения возможности предоставления кредита или выставления платежного поручения для оплаты товаров через банковское отделение.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Как мы используем личную информацию</h2>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Мы можем использовать личную информацию для внутренних целей, например при проведении аудита, анализа данных и исследований, направленных на улучшение продуктов и услуг, а также способов общения с клиентами.</li>
|
||||
<li style="text-align: justify;">Периодически мы используем собранную личную информацию для рассылки важных уведомлений, например сообщений о покупках и об изменениях в условиях и политиках.</li>
|
||||
<li style="text-align: justify;">Если вы принимаете участие в лотерее, конкурсе или аналогичном мероприятии, мы можем использовать предоставленную вами информацию при организации этих событий.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Сбор и использование информации, не являющейся личной</h2>
|
||||
<p align="justify">Мы также осуществляем сбор данных, которые не указывают непосредственно на конкретного человека. Мы можем собирать, использовать, передавать и раскрывать такие сведения с любой целью. Вот несколько примеров того, какую информацию, не являющуюся личной, мы собираем и используем.</p>
|
||||
<ul>
|
||||
<li style="text-align: justify;">Для того чтобы лучше понимать поведение клиентов и улучшать наши продукты, услуги и рекламу, мы можем собирать такие сведения, как род деятельности, язык, почтовый индекс, телефонный код, идентификатор устройства, местоположение, в котором используется купленный товар.</li>
|
||||
<li style="text-align: justify;">Мы можем также собирать информацию о том, чем интересуются пользователи на нашем веб-сайте, на официальных социальных страницах компании. Данные сведения позволяют нам предоставлять клиентам более полезную информацию, а также понять, какие разделы веб-сайта, продукты и сервисы пользуются повышенным интересом. В контексте данной политики конфиденциальности обобщенные данные рассматриваются в качестве информации, не являющейся личной.</li>
|
||||
</ul>
|
||||
<p align="justify">При объединении информации, не являющейся личной, с личной информацией объединенные данные будут считаться личными, пока они остаются объединенными.</p>
|
||||
<h2>Раскрытие информации третьим лицам</h2>
|
||||
<p align="justify">Эта информация не передается третьим лицам.</p>
|
||||
<h2>Поставщики услуг</h2>
|
||||
<p align="justify">ИКТТ обменивается личными данными пользователей с компаниями, которые предоставляют такие услуги, как обработка информации, выдача или продление срока кредита, выполнение заказов клиентов, доставка продуктов, управление данными клиентов и их расширение, обслуживание клиентов, оценка заинтересованности пользователей в наших продуктах и услугах, а также проведение исследований и опросов с целью определения степени удовлетворенности. Эти компании обязуются защищать ваши данные и могут быть расположены только на территории Республики Казахстан.</p>
|
||||
<h2>Прочее</h2>
|
||||
<p align="justify">Компания ИКТТ может быть обязана раскрыть вашу личную информацию в соответствии с законодательством, требованиями судопроизводства, судебного разбирательства или по запросу государственных органов страны вашего пребывания или других стран. Мы также можем раскрыть вашу личную информацию, если это будет необходимо в целях национальной безопасности, исполнения закона или в иных общественно важных целях.</p>
|
||||
<p align="justify">Мы также можем раскрыть вашу личную информацию, если это будет необходимо для выполнения наших условий или защиты наших операций или пользователей. Кроме того, в случае реорганизации, слияния или продажи компаний мы можем передавать личные данные соответствующей третьей стороне.</p>
|
||||
<h2>Защита личной информации</h2>
|
||||
<p align="justify">ИКТТ очень серьезно относится к защите вашей личной информации. Онлайн-сервисы ИКТТ, такие как Корзина и Личный кабинет, защищают вашу личную информацию во время передачи при помощи шифрования, например по протоколу SSL. Для хранения вашей личной информации ИКТТ использует компьютерные системы с ограниченным доступом, расположенные в помещениях с физическими средствами охраны. Данные Личного кабинета хранятся в зашифрованном виде, в том числе при использовании сторонних хранилищ.</p>
|
||||
<p align="justify">Когда вы пользуетесь некоторыми продуктами, услугами или приложениями Apple, публикуете сообщения в социальных сервисах, ведете переписку в чате, публикуемую вами личную информацию могут видеть, читать, собирать и использовать другие пользователи. Вы несете ответственность за то, какую информацию вы раскрываете в таких случаях. Например, если вы указываете свои имя и адрес электронной почты в обсуждении на форуме или блоге, такая информация становится общедоступной. Проявляйте осторожность в таких ситуациях.</p>
|
||||
<h2>Целостность и хранение личной информации</h2>
|
||||
<p align="justify">С помощью ИКТТ вы легко сможете обеспечить точность, полноту и актуальность своей личной информации. Мы будем хранить вашу личную информацию в течение срока, необходимого для исполнения обязательств, которые указаны в данной политике конфиденциальности, если иное не предусмотрено законом.</p>
|
||||
<h2>Доступ к личной информации</h2>
|
||||
<p align="justify">Вы можете помочь нам обеспечить точность, полноту и актуальность вашей контактной информации и личных предпочтений, выполнив вход в учетную запись на сайте <a href="https://ccalm.org" target="_blank">ccalm.org</a>. Что касается остальных данных, мы обеспечим вам доступ к вашей личной информации, чтобы вы, в частности, могли подать запрос об исправлении или удалении данных, кроме случаев, когда хранение информации предусмотрено законом или необходимо компании ИКТТ для осуществления деятельности в рамках действующего законодательства. Мы можем отказать в исполнении запросов, которые необоснованны либо обременительны, нарушают конфиденциальность других пользователей, не имеют смысла или доступ к которым в соответствии с локальным законодательством не является обязательным. Запросы на доступ к данным, исправление или удаление данных можно подать по электронной почте.</p>
|
||||
<h2>Глобальные обязательства по конфиденциальности</h2>
|
||||
<p align="justify">В целях защиты личной информации мы знакомим сотрудников ИКТТ с рекомендациями по безопасности и конфиденциальности и обеспечиваем их строгое исполнение в компании.</p>
|
||||
<h2>Вопросы о конфиденциальности</h2>
|
||||
<p align="justify">Если у вас возникли вопросы или сомнения по поводу политики конфиденциальности ИКТТ или обработки данных либо вы хотите сообщить о предполагаемом нарушении местных законов о конфиденциальности, свяжитесь с нами по почте info@ccalm.org. Вы можете в любой момент связаться с нами по телефону +7 (727) 229-44-81.</p>
|
||||
<p align="justify"><p align="justify">Мы проверяем все обращения и стараемся отвечать на них в кратчайшие сроки. Если вы недовольны полученным ответом, направьте жалобу в соответствующий регулятивный орган своей страны. Если вы хотите получить исчерпывающую информацию о способах подать жалобу, уместных в ваших обстоятельствах, обратитесь к нам.</p>
|
||||
<p align="justify">Компания ИКТТ периодически обновляет политику конфиденциальности. При изменении политики мы размещаем уведомление об этом на нашем веб-сайте вместе с новым текстом политики конфиденциальности.</p>
|
||||
<p>ДТОО "Институт космической техники и технологий", Almaty, Kazakhstan</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
673
src/main/webapp/WEB-INF/views/test.jsp
Normal file
673
src/main/webapp/WEB-INF/views/test.jsp
Normal file
@ -0,0 +1,673 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ page session="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="shortcut icon" href="./resources/favicon.ico" />
|
||||
<title>Caucasus and Central Asia Locusts Management system (CCALM)</title>
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="description" content="According to the implementation of the Road Map program to improve national and regional locust control in the Caucasus and Central Asia (CCA) developed a system of monitoring and analysis designed to control locusts in the CCA using a geographic information system and remote sensing technology">
|
||||
<meta name="yandex-verification" content="2cb5374be0668fe9" />
|
||||
<script type="text/javascript" src="./resources/metadata/jquery.js"></script>
|
||||
|
||||
<script type="text/javascript" src="./translation?v=7"></script>
|
||||
<script src="./resources/metadata/dbms/tools.js?v=9"></script>
|
||||
<link rel="stylesheet" href="./resources/engine/buttons.css?v=7">
|
||||
<link rel="stylesheet" href="./resources/engine/normalize.css?v=7">
|
||||
<link rel="stylesheet" href="./resources/metadata/dbms/dbms.css?v=7"/>
|
||||
<link rel="stylesheet" href="./resources/engine/index.css?v=7">
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="./resources/engine/popup.js?v=03"></script>
|
||||
<script type="text/javascript" src="./resources/index.js?v=02"></script>
|
||||
|
||||
<link rel="stylesheet" href="./resources/engine/openlayers/ol.css" type="text/css">
|
||||
<link rel="stylesheet" href="./resources/engine/openlayers/ol-ext.css" />
|
||||
<script src="./resources/engine/openlayers/ol.js"></script>
|
||||
<script src="./resources/engine/openlayers/proj4.js"></script>
|
||||
<script src="./resources/engine/openlayers/ol-ext.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
html,body
|
||||
{
|
||||
height:100%;
|
||||
min-height:100%;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
text-align:center;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
h2{
|
||||
font-size: 24px;
|
||||
margin-block-start: 0.10em;
|
||||
margin-block-end: 0.10em;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
h3{
|
||||
font-size: 20px;
|
||||
margin-block-start: 0.10em;
|
||||
margin-block-end: 0.10em;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
table {
|
||||
font-weight: inherit;
|
||||
}
|
||||
p{
|
||||
text-indent: 25px;
|
||||
text-align: justify;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.content
|
||||
{
|
||||
max-width:980px;
|
||||
/*height:100%;*/
|
||||
/*min-height:100%;*/
|
||||
margin:0 auto;
|
||||
text-align:left;
|
||||
/*background-color: #ffffff;*/
|
||||
}
|
||||
.app {
|
||||
display: grid;
|
||||
grid-column-gap: 15px;
|
||||
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
||||
}
|
||||
|
||||
.ol-scale-line {
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
-ms-transform: translate(-50%, 0)
|
||||
}
|
||||
|
||||
.ol-full-screen{
|
||||
left: .5em;
|
||||
bottom: .5em;
|
||||
right:inherit;
|
||||
top:inherit
|
||||
}
|
||||
|
||||
.ol-legend > div.ol-legend {
|
||||
position: relative;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var date_start=getParam('date_start',window);
|
||||
var date_end=getParam('date_end',window);
|
||||
if(date_start=='') date_start=(Date.now()/1000)-2592000;
|
||||
if(date_end=='') date_end=Date.now()/1000;
|
||||
|
||||
function setCookie (name, value, expires, path, domain, secure)
|
||||
{
|
||||
var exdate=new Date();
|
||||
exdate.setDate(exdate.getDate() + expires);
|
||||
expires=exdate.toUTCString()
|
||||
|
||||
document.cookie = name + "=" + escape(value) +
|
||||
((expires) ? "; expires=" + expires : "") +
|
||||
((path) ? "; path=" + path : "") +
|
||||
((domain) ? "; domain=" + domain : "") +
|
||||
((secure) ? "; secure" : "");
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('locust.kz')>=0){
|
||||
window.location.href = "https://ccalm.org";
|
||||
}
|
||||
|
||||
if(window.location.host.indexOf('ccalm.org')>=0 && location.protocol == 'http:'){
|
||||
location.href = location.href.replace(/^http:/, 'https:')
|
||||
}
|
||||
|
||||
var g_lng = "${m_locale}";
|
||||
var g_map=null;
|
||||
var m_winPP=null;
|
||||
|
||||
function Configure(){
|
||||
let win=new TWin(false,'./resources');
|
||||
win.BuildGUI(pageX-100,pageY-100);
|
||||
|
||||
win.setSize(300,20);
|
||||
win.setCaption(trt('Configure'));
|
||||
//win.showProgressBar();
|
||||
win.shadow = true;
|
||||
|
||||
let html='<table width="100%" border="0"><tbody><tr><td style="padding: 1px; white-space: nowrap;" width="1%">From date </td><td style="padding: 1px;"><table style="width: 100%; table-layout: fixed; border-spacing: 0px; border-collapse: collapse;" border="0"><tbody><tr><td style="width: 100%;"><input style="width: 100%;" name="date_start" value="" id="filter_first_date_start" type="text"></td><td style="width: 25px;"><img id="filter_first_date_start_trigger" src="../resources/engine/images/datepicker.jpg" style="margin-left: 1px; cursor: pointer;"></td></tr></tbody></table></td><td style="padding: 1px; white-space: nowrap;" width="1%">To date</td><td style="padding: 1px;"><table style="width: 100%; table-layout: fixed; border-spacing: 0px; border-collapse: collapse;" border="0"><tbody><tr><td style="width: 100%;"><input style="width: 100%;" name="date_end" value="" id="filter_first_date_end" type="text"></td><td style="width: 25px;"><img id="filter_first_date_end_trigger" src="../resources/engine/images/datepicker.jpg" style="cursor: pointer; margin-left: 1px;"></td></tr></tbody></table></td></tr></tbody></table>';
|
||||
html+='<input class="button-secondary" id="btnApply" type="button" value="'+trt('Apply')+'" style="margin: 0px 1px 0px 0px;float:right;">';
|
||||
|
||||
win.setContent(html);
|
||||
win.setCenter();
|
||||
win.hide(false);
|
||||
|
||||
$("#btnApply").click(function() {
|
||||
|
||||
|
||||
|
||||
let date_start="";
|
||||
let input = document.getElementById('filter_first_date_start');
|
||||
if(input!=null)
|
||||
{
|
||||
let date = new Date(input.value.replace(/-/g, "/"));
|
||||
date_start=date.getTime()/1000;// - date.getTimezoneOffset()*60;
|
||||
if(isNaN(date_start)) date_start='';
|
||||
}
|
||||
let date_end="";
|
||||
input = document.getElementById('filter_first_date_end');
|
||||
if(input!=null)
|
||||
{
|
||||
let date = new Date(input.value.replace(/-/g, "/"));
|
||||
date_end=date.getTime()/1000;// - date.getTimezoneOffset()*60;
|
||||
if(isNaN(date_end)) date_end='';
|
||||
}
|
||||
let path="./?date_start="+date_start+"&date_end="+date_end;
|
||||
window.open(path, "_self");
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div style="background-color: #2694bb;">
|
||||
<div class="content" style="color: #ffffff; font-size: 16px; padding-top: 15px;padding-bottom: 15px;position: relative;">
|
||||
<img id="idLogo_ru" src="./resources/images/logo_en.svg" alt="" style="height:60px;cursor:pointer;display: none;" onclick="window.open('https://www.fao.org/locusts-cca/ru/', '_blank');">
|
||||
<img id="idLogo_en" src="./resources/images/logo_en.svg" alt="" style="height:60px;cursor:pointer;display:none;" onclick="window.open('https://www.fao.org/locusts-cca/en/', '_blank');">
|
||||
<div style="display: inline-block; position:absolute; top:5px; right: 5px;">
|
||||
<a href="./?lng=3" style="color:#ffffff;text-decoration:none;margin-right:15px;font-weight: bold;">English</a> <a href="./?lng=1" style="color:#ffffff;text-decoration:none;font-weight: bold;">Русский</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="background-color: #37390d; background-image: url('./resources/images/head.jpg'); background-repeat: no-repeat; background-position: center; height: 400; align-items: center;">
|
||||
<div class="content" style="height:100%; color: #ffffff; font-size: 34px; display: flex; align-items: center; justify-content: center; position: relative;">
|
||||
<div style="width: 100%;">
|
||||
<div>${Caucasus_and_Central_Asia_Locusts_Management_system} (CCALM)</div>
|
||||
<div id="idInitiative_en" style="font-size: 14px; font-style: italic; display: none;">An Initiative of the Food and Agriculture Organization of the United Nations</div>
|
||||
<div id="idInitiative_ru" style="font-size: 14px; font-style: italic; display: none;">По инициативе Продовольственной и сельскохозяйственной организации Объединенных Наций</div>
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idLogo_ru").style.display="block";
|
||||
document.getElementById("idInitiative_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idLogo_en").style.display="block";
|
||||
document.getElementById("idInitiative_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<table style="color: #ffffff; position: absolute; bottom: 8px; right: 8px; padding: 0px;">
|
||||
<tr>
|
||||
<td style="text-align: center;">ASDC</td>
|
||||
<td style="width: 15px;"></td>
|
||||
<td style="text-align: center;">CCALM</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;"><a target="_blank" href="https://play.google.com/store/apps/details?id=kz.istt.locust"><img src="./resources/images/google_android_download.png" style="width: 64px; height: 64px"></a></td>
|
||||
<td style="width: 15px;"></td>
|
||||
<td style="text-align: center;"><a href="#" onclick="window.open('./engine/'); return false;"><img src="./resources/images/flex.png" style="width: 64px; height: 64px"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="background-color: #2694bb;">
|
||||
<div id="idSituation_en" class="content" style="display:none;color: #ffffff; font-size: 16px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>Hazard levels as June 2023</h2>
|
||||
<div style="background-color: #ff0000;color:#000000;">Situation level: DANGER in Afghanistan and Tajikistan (DMA)</div>
|
||||
<div style="background-color: #ffff99;color:#000000;">Situation level: CAUTION in Turkmenistan (DMA), Azerbaijan, Georgia, Kazakhstan, Kyrgyzstan and Uzbekistan (DMA and CIT), Russian Federation (DMA, CIT and LMI), Tajikistan (CIT)</div>
|
||||
<div style="background-color: #ccffcc;color:#000000;">Situation level: CALM elsewhere or for the other locust pests</div>
|
||||
</div>
|
||||
<div id="idSituation_ru" class="content" style="display:none;color: #ffffff; font-size: 16px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>Уровни опасности июнь 2023г.</h2>
|
||||
<div style="background-color: #ff0000;color:#000000;">Ситуация: ОПАСНАЯ в Афганистане и Таджикистане </div>
|
||||
<div style="background-color: #ffff99;color:#000000;">Ситуация: ВНИМАНИЕ в Туркменистане (DMA), Азербайджане, Грузии, Казахстане, Кыргызстане и Узбекистане (DMA и CIT), Российской Федерации (DMA, CIT и LMI), Таджикистане (CIT)</div>
|
||||
<div style="background-color: #ccffcc;color:#000000;">Ситуация: СПОКОЙНАЯ в других странах и для других видов саранчовых вредителей</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idSituation_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idSituation_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<div style="background-color: #2694bb;">
|
||||
<div class="content" style="color: #ffffff; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<div>
|
||||
<div style="display: inline-block;">
|
||||
<h2 style="display: inline-block;">${Locust_Data} ${with} <span id="fromdate">___</span> ${to} <span id="todate">___</span></h2>
|
||||
</div>
|
||||
<div style="display: inline-block;float: right;">
|
||||
<img src="./resources/images/config.svg" alt="" style="height:30px;cursor:pointer;" alt="${Configure}" title="${Configure}" onclick="Configure();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById("fromdate").innerHTML = (new Date(date_start * 1000)).toDateString();
|
||||
document.getElementById("todate").innerHTML = (new Date(date_end * 1000)).toDateString();
|
||||
</script>
|
||||
|
||||
<!--div id="mapdiv" style="color: #000000; font-size: 16px; background-color: Gray; width:100%; height:600px;"></div-->
|
||||
<div id="cnt_mapdiv" style="width:100%; height:600px; background-color: Gray; overflow: hidden; position: relative;">
|
||||
<div id="mapdiv" style="position: absolute; color: #000000; font-size: 16px; background-color: Gray; width:100%; height:100%;"></div>
|
||||
<div style="font-weight: bold; color: #000000; position: absolute; background-color: #ffffff; opacity: 0.7; right: .5em; top: .5em; left:inherit; bottom:inherit">
|
||||
<table style="margin: 5px;">
|
||||
<!--tr><td><img src="./resources/images/stai.svg" alt="" height="16px" width="16px"/></td><td>${Swarms}</td></tr-->
|
||||
<tr><td><img src="./resources/images/imago.svg" alt="" height="16px" width="16px"/></td><td>${Adult}</td></tr>
|
||||
<tr><td><img src="./resources/images/lichinki.svg" alt="" height="16px" width="16px"/></td><td>${Hoppers}</td></tr><!--tr><td><img src="./resources/images/kuligi.svg" alt="" height="16px" width="16px"/></td><td>${Bands}</td></tr-->
|
||||
<tr><td><img src="./resources/images/eggs.svg" alt="" height="16px" width="16px"/></td><td>${Egg_pod}</td></tr>
|
||||
<tr><td><img src="./resources/images/spraying.svg" alt="" height="16px" width="16px"/></td><td>${Spraying}</td></tr>
|
||||
<tr><td><img src="./resources/images/point.svg" alt="" height="16px" width="16px"/></td><td>${Not_infected}</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
// Style function
|
||||
function getFeatureStyle (feature) {
|
||||
var st= [];
|
||||
// Shadow style
|
||||
st.push (new ol.style.Style ({
|
||||
image: new ol.style.Shadow ({
|
||||
radius: 15
|
||||
})
|
||||
}));
|
||||
var st1= [];
|
||||
// Font style
|
||||
st.push ( new ol.style.Style ({
|
||||
image: new ol.style.FontSymbol({
|
||||
form: "marker",
|
||||
glyph: 'fa-car',
|
||||
radius: 15,
|
||||
offsetY: -15,
|
||||
fontSize: .7,
|
||||
color: '#fff',
|
||||
fill: new ol.style.Fill ({
|
||||
color: 'blue'
|
||||
}),
|
||||
stroke: new ol.style.Stroke ({
|
||||
color: '#fff',
|
||||
width: 2
|
||||
})
|
||||
}),
|
||||
stroke: new ol.style.Stroke ({
|
||||
width: 5,
|
||||
color: '#f00'
|
||||
}),
|
||||
fill: new ol.style.Fill ({
|
||||
color: [255, 0, 0, 0.6]
|
||||
})
|
||||
}));
|
||||
return st;
|
||||
}
|
||||
|
||||
var g_Layouts = new Object();
|
||||
|
||||
g_Layouts["OpenStreetMap"] = new ol.source.XYZ({
|
||||
url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png'
|
||||
,attributions: [
|
||||
'© OpenStreetMap',
|
||||
'<a href="https://www.openstreetmap.org/copyright">Terms of Use.</a>'
|
||||
]
|
||||
});
|
||||
|
||||
var g_Tile = new ol.layer.Tile({source:g_Layouts["OpenStreetMap"]});
|
||||
|
||||
var g_vectorSource = new ol.source.Vector({});
|
||||
var g_vectorLayer = new ol.layer.Vector({source: g_vectorSource,zIndex: 100});
|
||||
|
||||
g_map = new ol.Map({
|
||||
interactions: ol.interaction.defaults({ doubleClickZoom:false, mouseWheelZoom:false }),
|
||||
target: 'mapdiv',
|
||||
controls: ol.control.defaults().extend([
|
||||
new ol.control.ScaleLine(),
|
||||
new ol.control.ZoomSlider(),
|
||||
new ol.control.FullScreen()
|
||||
]),
|
||||
|
||||
/*controls: ol.control.defaults({ attribution: false }).extend([attribution]),*/
|
||||
|
||||
layers: [
|
||||
g_Tile,
|
||||
g_vectorLayer,
|
||||
],
|
||||
view: new ol.View({
|
||||
center: ol.proj.fromLonLat([55 ,45]),
|
||||
zoom: 4
|
||||
})
|
||||
});
|
||||
|
||||
// Change mouse cursor when over marker
|
||||
g_map.on('pointermove', function(evt)
|
||||
{
|
||||
let elm=g_map.getTargetElement();
|
||||
if(elm!=null)
|
||||
{
|
||||
var feature = g_map.forEachFeatureAtPixel(evt.pixel,function(feature) {return feature;});
|
||||
if (feature)
|
||||
elm.style.cursor = 'pointer';
|
||||
else
|
||||
elm.style.cursor = '';
|
||||
}
|
||||
});
|
||||
|
||||
// display popup on click
|
||||
g_map.on('click', function(evt){
|
||||
let coordinate = evt.coordinate;
|
||||
|
||||
|
||||
//var hdms = ol.coordinate.toStringHDMS(ol.proj.transform( coordinate, 'EPSG:3857', 'EPSG:4326'));
|
||||
//$(element).popover('destroy');
|
||||
//popup.setPosition(coordinate);
|
||||
//$(popup.getElement()).show();
|
||||
|
||||
var feature = g_map.forEachFeatureAtPixel(evt.pixel,function(feature) {return feature;});
|
||||
if(feature)
|
||||
{
|
||||
if(feature.userType==4)
|
||||
{
|
||||
if(m_winPP!=null) m_winPP.Close();
|
||||
m_winPP=new TWin(false,'./resources');
|
||||
m_winPP.BuildGUI(pageX-100,pageY-100);
|
||||
m_winPP.setSize(640,200);
|
||||
m_winPP.setCaption(trt("Spray_monitoring") + ' "' + feature.userName + '".');
|
||||
m_winPP.setCenter();
|
||||
|
||||
callFrmLocustDelDataPopupInterface(feature.userID);
|
||||
}else
|
||||
{
|
||||
if(m_winPP!=null) m_winPP.Close();
|
||||
m_winPP=new TWin(false,'./resources');
|
||||
m_winPP.BuildGUI(pageX-100,pageY-100);
|
||||
m_winPP.setSize(640,200);
|
||||
m_winPP.setCaption(trt("Locust_survey") + ' "' + feature.userName + '".');
|
||||
m_winPP.setCenter();
|
||||
|
||||
callFrmLocustDataPopupInterface(feature.userID);
|
||||
}
|
||||
|
||||
/*if(feature.userData !== undefined && (feature.userData.type=="Product2" || feature.userData.type=="Product3" || feature.userData.type=="Product2r" || feature.userData.type=="Product3r"))
|
||||
{
|
||||
if(feature.userData.percent!='')
|
||||
new TChartFRMLocustInfo(feature.userData);
|
||||
else
|
||||
alert(trt('No_data')+'!');
|
||||
}
|
||||
|
||||
if(feature.userData.type=="Product4" || feature.userData.type=="Product4r")
|
||||
{
|
||||
if(feature.userData.percent!='')
|
||||
{
|
||||
var win = new TWin(false,'./resources');
|
||||
win.BuildGUI(pageX,pageY);
|
||||
win.setCaption(trt('Data'));
|
||||
win.setSize("220px","100px");
|
||||
win.setCenter();
|
||||
win.setContent(feature.userData.text);
|
||||
win.hide(false);
|
||||
}else
|
||||
alert(trt('No_data')+'!');
|
||||
}*/
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
// Vector layer
|
||||
var vector = new ol.layer.Vector({
|
||||
source: new ol.source.Vector(),
|
||||
style: getFeatureStyle
|
||||
})
|
||||
g_map.addLayer(vector);
|
||||
|
||||
f0 = new ol.Feature(new ol.geom.Point( [269914, 6248592]));
|
||||
vector.getSource().addFeature(f0);
|
||||
|
||||
// Define a new legend
|
||||
var legend = new ol.control.Legend({
|
||||
title: 'Legend',
|
||||
style: getFeatureStyle,
|
||||
collapsed: false
|
||||
});
|
||||
g_map.addControl(legend);
|
||||
legend.on('select', function(e) {
|
||||
if (e.index >= 0) log.info('You click on row: '+e.title+' ('+e.index+')');
|
||||
else log.info('You click on the title: '+e.title);
|
||||
});
|
||||
legend.addRow({ title: 'Car placemark', feature: f0 });
|
||||
*/
|
||||
|
||||
//select id,locust_populated,ST_SetSRID(ST_MakePoint(lon1, lat1),4326) from main.frmlocust where del=false and locust_populated>0 and date>'2022-01-01'
|
||||
|
||||
callDataIndex(date_start,date_end);
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<div style="background-color: #ffffff;">
|
||||
<div id="idBulletin_en" class="content" style="display:none;color:#000000;font-size:24px;padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>Regional monthly bulletins on locusts</h2>
|
||||
<div style="cursor: pointer;" onclick="window.open('https://www.fao.org/locusts-cca/current-situation/en/', '_blank');">
|
||||
<img src="./resources/images/byulleten.jpg" alt="Byulleten" style="width: 100px; float: left; box-shadow: 0 0 5px rgba(0,0,0,0.5);margin: 10px;">
|
||||
<div style="color: #0d6cac;">No. 89 June, 2023</div>
|
||||
<strong>General Situation during May 2023 Forecast for June 2023</strong>
|
||||
<p>Moroccan Locust (DMA) fledging, mating and egglaying started in most areas of Central Asia (CA), with swarm flights, including across borders, reported in southern parts. The situation was critical in Afghanistan and Tajikistan in...</p>
|
||||
<div style="text-align: right;"><a href="https://www.fao.org/locusts-cca/current-situation/en/" target="_blank">${Data_source} >>></a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="idBulletin_ru" class="content" style="display:none;color:#000000;font-size:24px;padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>Региональные ежемесячные бюллетени по саранче</h2>
|
||||
<div style="cursor: pointer;" onclick="window.open('https://www.fao.org/locusts-cca/bulletins/ru/', '_blank');">
|
||||
<img src="./resources/images/byulleten.jpg" alt="Byulleten" style="width: 100px; float: left; box-shadow: 0 0 5px rgba(0,0,0,0.5);margin: 10px;">
|
||||
<div style="color: #0d6cac;">№ 89 – июнь 2023 г.</div>
|
||||
<strong>Общая ситуация в мае 2023 г. Прогноз на июнь 2023 г.</strong>
|
||||
<p>Окрыление, спаривание и яйцекладка мароккской саранчи (DMA) начались в большинстве районов Центральной Азии (ЦА), перелеты стай, в...</p>
|
||||
<div style="text-align: right;"><a href="https://www.fao.org/locusts-cca/bulletins/ru/" target="_blank">${Data_source} >>></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idBulletin_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idBulletin_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
|
||||
<div style="background-color: #dedcdc;">
|
||||
<div class="content" style="color: #000000; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>${ASDC_Field_Data}</h2>
|
||||
<div class="app" style="font-size: 14px;text-align: center;">
|
||||
<div style="cursor:pointer; height: 200px; margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpSurvey();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/swarms400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff;width:100%;height:50px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);">${Locust_survey}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 200px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpSpray();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/shell400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff;width:100%;height:50px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);">${Spray_monitoring}</div></div>
|
||||
</div>
|
||||
<div style="cursor:pointer; height: 200px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpSafety();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/environment400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff;width:100%;height:50px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);">${Safety_and_environment}</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="background-color: #dedcdc;">
|
||||
<div class="content" style="color: #000000; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>${CALM_and_other_data}</h2>
|
||||
<div class="app" style="font-size: 14px;text-align: center;">
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpSoil();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/soil400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;">${Soil_temperature_at_a_depth_of_10_cm}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpAir();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/air400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;">${Air_temperature_2m_above_the_ground}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpPre();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/precipitation400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;">${Accumulated_precipitation_in_24_hours}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpSel();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/sel400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;">${Hydrothermal_coefficient_of_Selyaninov}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpNDVI();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/ndvi400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;"><strong>NDVI</strong> ${Normalized_difference_vegetation_index}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpIVI();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/ivi400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;"><strong>IVI</strong> ${Integral_vegetation_index}</div></div>
|
||||
</div>
|
||||
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpNDWI();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/ndwi400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;"><strong>NDWI</strong> ${Normalized_difference_water_index}</div></div>
|
||||
</div>
|
||||
<div style="cursor:pointer; height: 210px; background-color: #ffffff;margin-top:5px;margin-bottom:5px;box-shadow: 0 0 10px rgba(0,0,0,0.5);border-radius: 10px;" onclick="showPopUpNDSI();">
|
||||
<div style="border-radius: 10px 10px 0px 0px; background-color: #aaa9a9; background-image: url('./resources/images/ndsi400.jpg'); background-repeat: no-repeat; background-position: center; width: 100%; height: 150px;"></div>
|
||||
<div style="border-radius: 0px 0px 10px 10px; background-color: #ffffff; width: 100%; height: 60px;position:relative;"><div style="position:absolute;top:50%;left:50%;-ms-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width:100%;"><strong>NDSI</strong> ${Normalised_difference_snow_index}</div></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--div style="background-color: #ffffff;">
|
||||
<div id="idCCALM_en" class="content" style="display:none;color:#000000;font-size:24px;padding-top: 15px;padding-bottom: 15px; height: 350;">
|
||||
<iframe style="float: right;" width="560" height="315" src="https://www.youtube.com/embed/5kdXRocsOkQ?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
</div>
|
||||
<div id="idCCALM_ru" class="content" style="display:none;color:#000000;font-size:24px;padding-top: 15px;padding-bottom: 15px; height: 350;">
|
||||
<iframe style="float: right;" width="560" height="315" src="https://www.youtube.com/embed/qchZtE3atNA?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
</div>
|
||||
</div-->
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
//document.getElementById("idCCALM_ru").style.display="block";
|
||||
}else{
|
||||
//document.getElementById("idCCALM_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
|
||||
<div style="background-color: #2694bb;">
|
||||
<div id="idMain_en" class="content" style="display:none; color: #ffffff; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<p>A Locust Geographic Information System (GIS), entitled <strong>“Caucasus and Central Asia Locust Management system” (CCALM)</strong>, was developed to the benefit of the ten CCA countries participating in the FAO “Programme to improve national and regional locust management in Caucasus and Central Asia (CCA),” under Result 3 of its Roadmap “Locust issues and disasters better anticipated and mitigated” and more specifically Activity 3.3 “Develop monitoring and analyzing systems”. CCALM is filled using the Automated System for Data Collection (ASDC), satellite products and other sources. Its purpose is to improve data analysis as well as forecasting and reporting at the national and regional levels.</p>
|
||||
<p>
|
||||
<strong>The Automated System of Data Collection (ASDC)</strong>
|
||||
<iframe style="float: right; border: 10px solid #2694bb;" width="460" height="260" src="https://www.youtube.com/embed/5kdXRocsOkQ?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
was created in 2013 in order to facilitate collection and sharing of standardized locust data. It simulates the FAO standard “Locust Survey Form” and “Spray Monitoring Form” for CCA and serves as basic data for the locust GIS in CCA. After ASDC first testing by Georgia, Uzbekistan and Russia in 2014-2015, the system was endorsed by CCA countries (October 2015), finalized and made available in eleven languages (Armenian, Azeri, Dari, English, Georgian, Kazakh, Kyrgyz, Russian, Tajik, Turkmen and Uzbek) in 2016/2017 for use on tablets, smartphones and computers.
|
||||
</p>
|
||||
<p>CCALM basic functions (data import, query, display, output), i.e. the database and its management system, were developed by the Institute of Space Technique and Technologies (ISTT), Almaty, Kazakhstan, and launched in early 2016. Based on the technical specifications proposed by CCA Forecasting and FAO Experts, the advanced functions (summary, analysis and forecast algorithms) were developed by ISTT in line with the technical standards of FAO. They include a the set of output products for analyzing Italian (CIT), Moroccan (DMA) and Asian Migratory (LMI) locusts data and elaborating forecasts. Among them, there are maps of: (a) locust densities, (b) treated areas, (c) areas infested (or treated) with densities above the Economic Threshold (ET). CCALM is fully available since March 2017 in two languages, English and Russian, at ccalm.org.</p>
|
||||
</div>
|
||||
<div id="idMain_ru" class="content" style="display:none; color: #ffffff; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<p>Географическая Информационная Система (ГИС) по Саранчовым, озаглавленная как <strong>«Система управления саранчовыми на Кавказе и в Центральной Азии” (CCALM - Caucasus and Central Asia Locust Management system)</strong>, разрабатывается в интересах десяти стран КЦА, участвующих в программе ФАО по улучшению национальной и региональной борьбы с саранчой на Кавказе и в Центральной Азии (КЦА) по Результату 3 Дорожной карты реализации “Саранчовые вспышки лучше прогнозируются и их катастрофичность снижается" и, более конкретно, Мероприятию 3.3 “Разработать мониторинговые и анализирующие системы”. База данных CCALM наполняется при помощи Автоматизированной системы сбора данных (ASDC) и других источников спутниковой продукции. Ее цель - улучшить анализ данных, а также прогнозирование и отчетность на национальном и региональном уровнях.</p>
|
||||
<p>
|
||||
<strong>Автоматизированная Система Сбора Данных (ASDC – Automated System for Data Collection)</strong>
|
||||
<iframe style="float: right; border: 10px solid #2694bb;" width="460" height="260" src="https://www.youtube.com/embed/qchZtE3atNA?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
была создана в 2013 году для облегчения сбора и совместного использования стандартизированных данных по саранчовым. Она имитирует стандартные формы ФАО для обследования угодий на заселенность и по борьбе с саранчой и служит основой создаваемой ГИС по Саранчовым в КЦА. После тестирования ASDC Грузией, Российской Федерацией и Узбекистаном в 2014-2015 гг., система была одобрена странами КЦА (октябрь 2015 г.), ее создание было завершено, и она стала доступна на одиннадцати языках (азербайджанском, английском, армянском, дари, грузинском, казахском, киргизском, русском, таджикском, туркменском и узбекском) в 2016-2017 гг. для использования на планшетах, смартфонах и компьютерах.
|
||||
</p>
|
||||
<p>CCALM основные функции (импорт данных, запрос, отображение, вывод), т.е. база данных и система управления базой данных были разработаны Институтом космической техники и технологий (ИКТТ), г. Алматы, Казахстан, и запущены в начале 2016 г. На основе технических спецификаций, разработанных и согласованных с экспертами КЦА по прогнозированию совместно с экспертами ФАО, расширенные функции (сводка, анализ, алгоритмы прогноза) были разработаны ИКТТ в соответствии с техническими стандартами ФАО. Они включают ряд выходных продуктов, предназначенных для анализа данных по итальянскому прусу (CIT), мароккской саранче (DMA) и азиатской перелетной саранче (LMI) и подготовки прогнозов. Среди них есть карты: (a) плотности саранчовых, (b) обработанных территорий, (c) территорий, заселенных (или обработанных) с плотностью выше экономического порога вредоносности (ЭПВ). CCALM полностью доступен с марта 2017 года на двух языках, английском и русском, по адресу ccalm.org.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idMain_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idMain_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<div style="background-color: #dedcdc;">
|
||||
<div class="content" style="color: #000000; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
<h3>${ASDC_User_Guides}</h3>
|
||||
<a href="./resources/engine/help/ASDC_for_Android_ENG.pdf" target="_blank">ASDC_for_Android_ENG_v2.23.pdf</a><br/>
|
||||
<a href="./resources/engine/help/ASDC_for_Android_RUS.pdf" target="_blank">ASDC_for_Android_RUS_v2.23.pdf</a>
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<h3>${CCALM_User_Guides}</h3>
|
||||
<a href="./resources/engine/help/CCALM_help_ENG.pdf" target="_blank">CCALM_help_ENG_v3.3.pdf</a><br/>
|
||||
<a href="./resources/engine/help/CCALM_help_RUS.pdf" target="_blank">CCALM_help_RUS_v3.4.pdf</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--div id="idAppeal_ru" style="background-color: #ffffff; display: none;">
|
||||
<div class="content" style="color: #000000; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>Призыв ФАО к быстрому реагированию</h2>
|
||||
<p>Пустынная саранча представляет собой беспрецедентный риск для продовольственной безопасности и экономической ситуации. За последние несколько лет последовавшие друг за другом потрясения - в том числе засуха, наводнения, макроэкономические кризисы и вооруженные конфликты - способствовали значительному уровню дестабилизации. Необходимо приложить все усилия, чтобы нынешний всплеск не превратился в полноценное бедствие.</p>
|
||||
<div style="text-align: right;"><a href="mailto:AGP-Director@fao.org?Subject=Donation%20for%20the%20Desert%20Locust%20Crisis" style="background-color: #B22222; color:white;padding: 10px;box-shadow: 0 0 5px rgba(0,0,0,0.5);">${Donate_Now}</a></div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div id="idAppeal_en" style="background-color: #ffffff; display: none;">
|
||||
<div class="content" style="color: #000000; font-size: 24px; padding-top: 15px;padding-bottom: 15px;">
|
||||
<h2>FAO's Appeal for Rapid Response</h2>
|
||||
<p>The Desert Locust poses an unprecedented risk to food security and economic conditions. Over the past several years, successive shocks - including droughts, floods, macroeconomic crises and armed conflicts - have contributed to significant levels of destabilization. Every effort must be made to ensure that the current surge does not turn into a full-fledged disaster.</p>
|
||||
<div style="text-align: right;"><a href="mailto:AGP-Director@fao.org?Subject=Donation%20for%20the%20Desert%20Locust%20Crisis" style="background-color: #B22222; color:white;padding: 10px;box-shadow: 0 0 5px rgba(0,0,0,0.5);">${Donate_Now}</a></div>
|
||||
<br>
|
||||
</div>
|
||||
</div-->
|
||||
<script>
|
||||
/*
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idAppeal_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idAppeal_en").style.display="block";
|
||||
}
|
||||
*/
|
||||
</script>
|
||||
|
||||
<div style="background-color: #2694bb;">
|
||||
<div id="idContact_en" class="content" style="display:none;color:#ffffff;font-size:16px;padding-top:15px;padding-bottom: 15px; text-align: center;">
|
||||
For any questions, please contact us by email: <a href="mailto:info@ccalm.org" style="color: #fafaff;">info@ccalm.org</a>.
|
||||
</div>
|
||||
<div id="idContact_ru" class="content" style="display:none;color:#ffffff;font-size:16px; padding-top:15px;padding-bottom: 15px; text-align: center;">
|
||||
По всем вопросам обращайтесь к нам по электронной почте: <a href="mailto:info@ccalm.org" style="color: #fafaff;">info@ccalm.org</a>.
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
if(g_lng=="1")
|
||||
{
|
||||
document.getElementById("idContact_ru").style.display="block";
|
||||
}else{
|
||||
document.getElementById("idContact_en").style.display="block";
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
33
src/main/webapp/WEB-INF/views/translation.jsp
Normal file
33
src/main/webapp/WEB-INF/views/translation.jsp
Normal file
@ -0,0 +1,33 @@
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ page session="false" contentType="text/javascript; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
|
||||
//В tools.js функция trt(key) есть
|
||||
function _(key)
|
||||
{
|
||||
if(key==null || key===undefined) return '';
|
||||
let val=g_translations[key];
|
||||
if(val==null || val===undefined)
|
||||
{
|
||||
for(let item in g_translations) {
|
||||
if(item.toLowerCase()==key.toLowerCase())
|
||||
{
|
||||
val=g_translations[item];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(val==null || val===undefined) return key.replace(/_/g, ' ');
|
||||
else return val;
|
||||
}
|
||||
|
||||
function __(key)
|
||||
{
|
||||
var val=g_translations[key];
|
||||
if(val===undefined) return key.replace(/_/g, ' ');
|
||||
else return val;
|
||||
}
|
||||
|
||||
var g_translations = {
|
||||
'':''
|
||||
${keys}
|
||||
};
|
||||
23
src/main/webapp/WEB-INF/web.xml
Normal file
23
src/main/webapp/WEB-INF/web.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee" version="2.5">
|
||||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>/WEB-INF/spring/root-context.xml</param-value>
|
||||
</context-param>
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
<servlet>
|
||||
<servlet-name>appServlet</servlet-name>
|
||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
|
||||
</init-param>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>appServlet</servlet-name>
|
||||
<url-pattern>/</url-pattern>
|
||||
</servlet-mapping>
|
||||
</web-app>
|
||||
326
src/main/webapp/resources/QGIS/IVI.qgs
Normal file
326
src/main/webapp/resources/QGIS/IVI.qgs
Normal 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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=IVI:${year}IVI_h20v03&layers=IVI:${year}IVI_h20v04&layers=IVI:${year}IVI_h21v03&layers=IVI:${year}IVI_h21v04&layers=IVI:${year}IVI_h21v05&layers=IVI:${year}IVI_h22v03&layers=IVI:${year}IVI_h22v04&layers=IVI:${year}IVI_h22v05&layers=IVI:${year}IVI_h23v03&layers=IVI:${year}IVI_h23v04&layers=IVI:${year}IVI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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&format&type=xyz&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&format&type=xyz&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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=IVI:${year}IVI_h20v03&layers=IVI:${year}IVI_h20v04&layers=IVI:${year}IVI_h21v03&layers=IVI:${year}IVI_h21v04&layers=IVI:${year}IVI_h21v05&layers=IVI:${year}IVI_h22v03&layers=IVI:${year}IVI_h22v04&layers=IVI:${year}IVI_h22v05&layers=IVI:${year}IVI_h23v03&layers=IVI:${year}IVI_h23v04&layers=IVI:${year}IVI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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>
|
||||
354
src/main/webapp/resources/QGIS/NDSI.qgs
Normal file
354
src/main/webapp/resources/QGIS/NDSI.qgs
Normal 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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDSI:${day}NDSI_h20v03&layers=NDSI:${day}NDSI_h20v04&layers=NDSI:${day}NDSI_h21v03&layers=NDSI:${day}NDSI_h21v04&layers=NDSI:${day}NDSI_h21v05&layers=NDSI:${day}NDSI_h22v03&layers=NDSI:${day}NDSI_h22v04&layers=NDSI:${day}NDSI_h22v05&layers=NDSI:${day}NDSI_h23v03&layers=NDSI:${day}NDSI_h23v04&layers=NDSI:${day}NDSI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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&format&type=xyz&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&format&type=xyz&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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDSI:${day}NDSI_h20v03&layers=NDSI:${day}NDSI_h20v04&layers=NDSI:${day}NDSI_h21v03&layers=NDSI:${day}NDSI_h21v04&layers=NDSI:${day}NDSI_h21v05&layers=NDSI:${day}NDSI_h22v03&layers=NDSI:${day}NDSI_h22v04&layers=NDSI:${day}NDSI_h22v05&layers=NDSI:${day}NDSI_h23v03&layers=NDSI:${day}NDSI_h23v04&layers=NDSI:${day}NDSI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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>
|
||||
326
src/main/webapp/resources/QGIS/NDVI.qgs
Normal file
326
src/main/webapp/resources/QGIS/NDVI.qgs
Normal 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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDVI:${day}NDVI_h20v03&layers=NDVI:${day}NDVI_h20v04&layers=NDVI:${day}NDVI_h21v03&layers=NDVI:${day}NDVI_h21v04&layers=NDVI:${day}NDVI_h21v05&layers=NDVI:${day}NDVI_h22v03&layers=NDVI:${day}NDVI_h22v04&layers=NDVI:${day}NDVI_h22v05&layers=NDVI:${day}NDVI_h23v03&layers=NDVI:${day}NDVI_h23v04&layers=NDVI:${day}NDVI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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&format&type=xyz&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&format&type=xyz&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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDVI:${day}NDVI_h20v03&layers=NDVI:${day}NDVI_h20v04&layers=NDVI:${day}NDVI_h21v03&layers=NDVI:${day}NDVI_h21v04&layers=NDVI:${day}NDVI_h21v05&layers=NDVI:${day}NDVI_h22v03&layers=NDVI:${day}NDVI_h22v04&layers=NDVI:${day}NDVI_h22v05&layers=NDVI:${day}NDVI_h23v03&layers=NDVI:${day}NDVI_h23v04&layers=NDVI:${day}NDVI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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>
|
||||
354
src/main/webapp/resources/QGIS/NDWI.qgs
Normal file
354
src/main/webapp/resources/QGIS/NDWI.qgs
Normal 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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDWI:${day}NDWI_h20v03&layers=NDWI:${day}NDWI_h20v04&layers=NDWI:${day}NDWI_h21v03&layers=NDWI:${day}NDWI_h21v04&layers=NDWI:${day}NDWI_h21v05&layers=NDWI:${day}NDWI_h22v03&layers=NDWI:${day}NDWI_h22v04&layers=NDWI:${day}NDWI_h22v05&layers=NDWI:${day}NDWI_h23v03&layers=NDWI:${day}NDWI_h23v04&layers=NDWI:${day}NDWI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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&format&type=xyz&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&format&type=xyz&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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDWI:${day}NDWI_h20v03&layers=NDWI:${day}NDWI_h20v04&layers=NDWI:${day}NDWI_h21v03&layers=NDWI:${day}NDWI_h21v04&layers=NDWI:${day}NDWI_h21v05&layers=NDWI:${day}NDWI_h22v03&layers=NDWI:${day}NDWI_h22v04&layers=NDWI:${day}NDWI_h22v05&layers=NDWI:${day}NDWI_h23v03&layers=NDWI:${day}NDWI_h23v04&layers=NDWI:${day}NDWI_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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>
|
||||
354
src/main/webapp/resources/QGIS/NDWI_CMP.qgs
Normal file
354
src/main/webapp/resources/QGIS/NDWI_CMP.qgs
Normal 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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDWI_CMP:${day}NDWI_CMP_h20v03&layers=NDWI_CMP:${day}NDWI_CMP_h20v04&layers=NDWI_CMP:${day}NDWI_CMP_h21v03&layers=NDWI_CMP:${day}NDWI_CMP_h21v04&layers=NDWI_CMP:${day}NDWI_CMP_h21v05&layers=NDWI_CMP:${day}NDWI_CMP_h22v03&layers=NDWI_CMP:${day}NDWI_CMP_h22v04&layers=NDWI_CMP:${day}NDWI_CMP_h22v05&layers=NDWI_CMP:${day}NDWI_CMP_h23v03&layers=NDWI_CMP:${day}NDWI_CMP_h23v04&layers=NDWI_CMP:${day}NDWI_CMP_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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&format&type=xyz&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&format&type=xyz&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&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=NDWI_CMP:${day}NDWI_CMP_h20v03&layers=NDWI_CMP:${day}NDWI_CMP_h20v04&layers=NDWI_CMP:${day}NDWI_CMP_h21v03&layers=NDWI_CMP:${day}NDWI_CMP_h21v04&layers=NDWI_CMP:${day}NDWI_CMP_h21v05&layers=NDWI_CMP:${day}NDWI_CMP_h22v03&layers=NDWI_CMP:${day}NDWI_CMP_h22v04&layers=NDWI_CMP:${day}NDWI_CMP_h22v05&layers=NDWI_CMP:${day}NDWI_CMP_h23v03&layers=NDWI_CMP:${day}NDWI_CMP_h23v04&layers=NDWI_CMP:${day}NDWI_CMP_h23v05&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&styles=&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>
|
||||
724
src/main/webapp/resources/QGIS/SMAP.qgs
Normal file
724
src/main/webapp/resources/QGIS/SMAP.qgs
Normal file
@ -0,0 +1,724 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis saveUserFull="Иванов И." version="3.32.1-Lima" saveDateTime="2023-09-08T15:05:07" saveUser="ivanov.i" projectname="">
|
||||
<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)"],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>
|
||||
<elevation-shading-renderer edl-is-active="1" light-altitude="45" edl-distance-unit="0" hillshading-z-factor="1" combined-method="0" light-azimuth="315" is-active="0" edl-distance="0.5" hillshading-is-multidirectional="0" hillshading-is-active="0" edl-strength="1000"/>
|
||||
<layer-tree-group>
|
||||
<customproperties>
|
||||
<Option/>
|
||||
</customproperties>
|
||||
<layer-tree-layer providerKey="wms" patch_size="-1,-1" name="${day}SMAP" legend_split_behavior="0" legend_exp="" checked="Qt::Checked" id="_8357e0b1_ef46_4436_ac52_f7a1b071a7a1" expanded="1" source="IgnoreGetMapUrl=1&contextualWMSLegend=0&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=SMAP:${day}SMAP&styles&tilePixelRatio=0&url=http://geoserver2.ccalm.org/wms?viewparams%3Dtime_start:1667260800;time_end%3D1665532800;">
|
||||
<customproperties>
|
||||
<Option/>
|
||||
</customproperties>
|
||||
</layer-tree-layer>
|
||||
<layer-tree-layer providerKey="wms" patch_size="-1,-1" name="OpenStreetMap" legend_split_behavior="0" legend_exp="" checked="Qt::Checked" id="OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d" expanded="1" source="type=xyz&url=http://tile.openstreetmap.org/{z}/{x}/{y}.png">
|
||||
<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" mode="2" unit="1" intersection-snapping="0" self-snapping="0" enabled="0" tolerance="12" type="1" minScale="0" scaleDependencyMode="0">
|
||||
<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)"],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 name="${day}SMAP" drawingOrder="-1" checked="Qt::Checked" open="true" showFeatureCount="0">
|
||||
<filegroup hidden="false" open="true">
|
||||
<legendlayerfile layerid="_8357e0b1_ef46_4436_ac52_f7a1b071a7a1" isInOverview="0" visible="1"/>
|
||||
</filegroup>
|
||||
</legendlayer>
|
||||
<legendlayer name="OpenStreetMap" drawingOrder="-1" checked="Qt::Checked" open="true" showFeatureCount="0">
|
||||
<filegroup hidden="false" open="true">
|
||||
<legendlayerfile layerid="OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d" isInOverview="0" visible="1"/>
|
||||
</filegroup>
|
||||
</legendlayer>
|
||||
</legend>
|
||||
<mapViewDocks/>
|
||||
<mapcanvas name="mAreaCanvas" annotationsVisible="1">
|
||||
<units>degrees</units>
|
||||
<extent>
|
||||
<xmin>0</xmin>
|
||||
<ymin>0</ymin>
|
||||
<xmax>0</xmax>
|
||||
<ymax>0</ymax>
|
||||
</extent>
|
||||
<rotation>0</rotation>
|
||||
<destinationsrs>
|
||||
<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)"],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>
|
||||
</destinationsrs>
|
||||
<rendermaptile>0</rendermaptile>
|
||||
<expressionContextScope/>
|
||||
</mapcanvas>
|
||||
<main-annotation-layer autoRefreshEnabled="0" styleCategories="AllStyleCategories" maxScale="0" autoRefreshTime="0" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" hasScaleBasedVisibilityFlag="0" legendPlaceholderImage="" type="annotation" 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)"],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 autoRefreshEnabled="0" styleCategories="AllStyleCategories" maxScale="0" autoRefreshTime="0" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" hasScaleBasedVisibilityFlag="0" legendPlaceholderImage="" type="raster" 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>179.99999999999997158</xmax>
|
||||
<ymax>85.05112877980660357</ymax>
|
||||
</wgs84extent>
|
||||
<id>OpenStreetMap_3eefb26a_f2d2_4a0b_b3e0_3ed661cbbc5d</id>
|
||||
<datasource>type=xyz&url=http://tile.openstreetmap.org/{z}/{x}/{y}.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)"],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="Источник" description="" size="" mimeType="" url="https://www.openstreetmap.org/" type="WWW:LINK" format=""/>
|
||||
</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)"],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 minx="-180" maxx="180" miny="-85.05112877980660357" dimensions="2" crs="EPSG:4326" maxz="0" minz="0" 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 mode="0" enabled="0" fetchMode="0">
|
||||
<fixedRange>
|
||||
<start></start>
|
||||
<end></end>
|
||||
</fixedRange>
|
||||
</temporal>
|
||||
<elevation zoffset="0" symbology="Line" enabled="0" zscale="1" band="1">
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
<profileLineSymbol>
|
||||
<symbol name="" clip_to_extent="1" is_animated="0" force_rhr="0" alpha="1" frame_rate="10" type="line">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer enabled="1" id="{d5b45c66-5ba4-4ffe-928b-b76180ae5d44}" pass="0" class="SimpleLine" locked="0">
|
||||
<Option type="Map">
|
||||
<Option name="align_dash_pattern" value="0" type="QString"/>
|
||||
<Option name="capstyle" value="square" type="QString"/>
|
||||
<Option name="customdash" value="5;2" type="QString"/>
|
||||
<Option name="customdash_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="customdash_unit" value="MM" type="QString"/>
|
||||
<Option name="dash_pattern_offset" value="0" type="QString"/>
|
||||
<Option name="dash_pattern_offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="dash_pattern_offset_unit" value="MM" type="QString"/>
|
||||
<Option name="draw_inside_polygon" value="0" type="QString"/>
|
||||
<Option name="joinstyle" value="bevel" type="QString"/>
|
||||
<Option name="line_color" value="196,60,57,255" type="QString"/>
|
||||
<Option name="line_style" value="solid" type="QString"/>
|
||||
<Option name="line_width" value="0.6" type="QString"/>
|
||||
<Option name="line_width_unit" value="MM" type="QString"/>
|
||||
<Option name="offset" value="0" type="QString"/>
|
||||
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="offset_unit" value="MM" type="QString"/>
|
||||
<Option name="ring_filter" value="0" type="QString"/>
|
||||
<Option name="trim_distance_end" value="0" type="QString"/>
|
||||
<Option name="trim_distance_end_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="trim_distance_end_unit" value="MM" type="QString"/>
|
||||
<Option name="trim_distance_start" value="0" type="QString"/>
|
||||
<Option name="trim_distance_start_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="trim_distance_start_unit" value="MM" type="QString"/>
|
||||
<Option name="tweak_dash_pattern_on_corners" value="0" type="QString"/>
|
||||
<Option name="use_custom_dash" value="0" type="QString"/>
|
||||
<Option name="width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileLineSymbol>
|
||||
<profileFillSymbol>
|
||||
<symbol name="" clip_to_extent="1" is_animated="0" force_rhr="0" alpha="1" frame_rate="10" type="fill">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer enabled="1" id="{b4e5f16d-cf22-4f7a-a750-417fa434755d}" pass="0" class="SimpleFill" locked="0">
|
||||
<Option type="Map">
|
||||
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="color" value="196,60,57,255" type="QString"/>
|
||||
<Option name="joinstyle" value="bevel" type="QString"/>
|
||||
<Option name="offset" value="0,0" type="QString"/>
|
||||
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="offset_unit" value="MM" type="QString"/>
|
||||
<Option name="outline_color" value="35,35,35,255" type="QString"/>
|
||||
<Option name="outline_style" value="no" type="QString"/>
|
||||
<Option name="outline_width" value="0.26" type="QString"/>
|
||||
<Option name="outline_width_unit" value="MM" type="QString"/>
|
||||
<Option name="style" value="solid" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileFillSymbol>
|
||||
</elevation>
|
||||
<customproperties>
|
||||
<Option type="Map">
|
||||
<Option name="identify/format" value="Value" type="QString"/>
|
||||
<Option name="ol_layer_type" value="OpenStreetMap" type="QString"/>
|
||||
</Option>
|
||||
</customproperties>
|
||||
<mapTip enabled="1"></mapTip>
|
||||
<pipe-data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</pipe-data-defined-properties>
|
||||
<pipe>
|
||||
<provider>
|
||||
<resampling maxOversampling="2" enabled="false" zoomedOutResamplingMethod="nearestNeighbour" zoomedInResamplingMethod="nearestNeighbour"/>
|
||||
</provider>
|
||||
<rasterrenderer opacity="1" alphaBand="-1" nodataColor="" type="singlebandcolordata" 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 gamma="1" brightness="0" contrast="0"/>
|
||||
<huesaturation grayscaleMode="0" saturation="0" colorizeStrength="100" colorizeGreen="128" colorizeBlue="128" invertColors="0" colorizeOn="0" colorizeRed="255"/>
|
||||
<rasterresampler maxOversampling="2"/>
|
||||
<resamplingStage>resamplingFilter</resamplingStage>
|
||||
</pipe>
|
||||
<blendMode>0</blendMode>
|
||||
</maplayer>
|
||||
<maplayer autoRefreshEnabled="0" styleCategories="AllStyleCategories" maxScale="0" autoRefreshTime="0" refreshOnNotifyMessage="" refreshOnNotifyEnabled="0" hasScaleBasedVisibilityFlag="0" legendPlaceholderImage="" type="raster" 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&contextualWMSLegend=0&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=SMAP:${day}SMAP&styles&tilePixelRatio=0&url=http://geoserver2.ccalm.org/wms?viewparams%3Dtime_start:1667260800;time_end%3D1665532800;</datasource>
|
||||
<keywordList>
|
||||
<value></value>
|
||||
</keywordList>
|
||||
<layername>${day}SMAP</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)"],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 mode="0" enabled="0" fetchMode="0">
|
||||
<fixedRange>
|
||||
<start></start>
|
||||
<end></end>
|
||||
</fixedRange>
|
||||
</temporal>
|
||||
<elevation zoffset="0" symbology="Line" enabled="0" zscale="1" band="1">
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
<profileLineSymbol>
|
||||
<symbol name="" clip_to_extent="1" is_animated="0" force_rhr="0" alpha="1" frame_rate="10" type="line">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer enabled="1" id="{1dfb735b-fea3-4003-9474-23a8751d6963}" pass="0" class="SimpleLine" locked="0">
|
||||
<Option type="Map">
|
||||
<Option name="align_dash_pattern" value="0" type="QString"/>
|
||||
<Option name="capstyle" value="square" type="QString"/>
|
||||
<Option name="customdash" value="5;2" type="QString"/>
|
||||
<Option name="customdash_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="customdash_unit" value="MM" type="QString"/>
|
||||
<Option name="dash_pattern_offset" value="0" type="QString"/>
|
||||
<Option name="dash_pattern_offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="dash_pattern_offset_unit" value="MM" type="QString"/>
|
||||
<Option name="draw_inside_polygon" value="0" type="QString"/>
|
||||
<Option name="joinstyle" value="bevel" type="QString"/>
|
||||
<Option name="line_color" value="145,82,45,255" type="QString"/>
|
||||
<Option name="line_style" value="solid" type="QString"/>
|
||||
<Option name="line_width" value="0.6" type="QString"/>
|
||||
<Option name="line_width_unit" value="MM" type="QString"/>
|
||||
<Option name="offset" value="0" type="QString"/>
|
||||
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="offset_unit" value="MM" type="QString"/>
|
||||
<Option name="ring_filter" value="0" type="QString"/>
|
||||
<Option name="trim_distance_end" value="0" type="QString"/>
|
||||
<Option name="trim_distance_end_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="trim_distance_end_unit" value="MM" type="QString"/>
|
||||
<Option name="trim_distance_start" value="0" type="QString"/>
|
||||
<Option name="trim_distance_start_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="trim_distance_start_unit" value="MM" type="QString"/>
|
||||
<Option name="tweak_dash_pattern_on_corners" value="0" type="QString"/>
|
||||
<Option name="use_custom_dash" value="0" type="QString"/>
|
||||
<Option name="width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileLineSymbol>
|
||||
<profileFillSymbol>
|
||||
<symbol name="" clip_to_extent="1" is_animated="0" force_rhr="0" alpha="1" frame_rate="10" type="fill">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer enabled="1" id="{78080609-56f0-4394-b59b-96a6fe98a63f}" pass="0" class="SimpleFill" locked="0">
|
||||
<Option type="Map">
|
||||
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="color" value="145,82,45,255" type="QString"/>
|
||||
<Option name="joinstyle" value="bevel" type="QString"/>
|
||||
<Option name="offset" value="0,0" type="QString"/>
|
||||
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
|
||||
<Option name="offset_unit" value="MM" type="QString"/>
|
||||
<Option name="outline_color" value="35,35,35,255" type="QString"/>
|
||||
<Option name="outline_style" value="no" type="QString"/>
|
||||
<Option name="outline_width" value="0.26" type="QString"/>
|
||||
<Option name="outline_width_unit" value="MM" type="QString"/>
|
||||
<Option name="style" value="solid" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileFillSymbol>
|
||||
</elevation>
|
||||
<customproperties>
|
||||
<Option type="Map">
|
||||
<Option name="identify/format" value="Html" type="QString"/>
|
||||
</Option>
|
||||
</customproperties>
|
||||
<mapTip enabled="1"></mapTip>
|
||||
<pipe-data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" type="QString"/>
|
||||
</Option>
|
||||
</pipe-data-defined-properties>
|
||||
<pipe>
|
||||
<provider>
|
||||
<resampling maxOversampling="2" enabled="false" zoomedOutResamplingMethod="nearestNeighbour" zoomedInResamplingMethod="nearestNeighbour"/>
|
||||
</provider>
|
||||
<rasterrenderer opacity="1" alphaBand="-1" nodataColor="" type="singlebandcolordata" 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 gamma="1" brightness="0" contrast="0"/>
|
||||
<huesaturation grayscaleMode="0" saturation="0" colorizeStrength="100" colorizeGreen="128" colorizeBlue="128" invertColors="0" colorizeOn="0" colorizeRed="255"/>
|
||||
<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>
|
||||
<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</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 name="name" value="" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" value="collection" 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>Иванов И.</author>
|
||||
<creation>2023-09-08T15:00:38</creation>
|
||||
</projectMetadata>
|
||||
<Annotations/>
|
||||
<Layouts/>
|
||||
<mapViewDocks3D/>
|
||||
<Bookmarks/>
|
||||
<Sensors/>
|
||||
<ProjectViewSettings UseProjectScales="0" rotation="0">
|
||||
<Scales/>
|
||||
</ProjectViewSettings>
|
||||
<ProjectStyleSettings projectStyleId="attachment:///WnrGKX_styles.db" RandomizeDefaultSymbolColor="1" DefaultSymbolOpacity="1">
|
||||
<databases/>
|
||||
</ProjectStyleSettings>
|
||||
<ProjectTimeSettings timeStepUnit="h" cumulativeTemporalRange="0" frameRate="1" timeStep="1"/>
|
||||
<ElevationProperties>
|
||||
<terrainProvider type="flat">
|
||||
<TerrainProvider offset="0" scale="1"/>
|
||||
</terrainProvider>
|
||||
</ElevationProperties>
|
||||
<ProjectDisplaySettings CoordinateAxisOrder="Default" CoordinateType="MapCrs">
|
||||
<BearingFormat id="bearing">
|
||||
<Option type="Map">
|
||||
<Option name="decimal_separator" type="invalid"/>
|
||||
<Option name="decimals" value="6" type="int"/>
|
||||
<Option name="direction_format" value="0" type="int"/>
|
||||
<Option name="rounding_type" value="0" type="int"/>
|
||||
<Option name="show_plus" value="false" type="bool"/>
|
||||
<Option name="show_thousand_separator" value="true" type="bool"/>
|
||||
<Option name="show_trailing_zeros" value="false" type="bool"/>
|
||||
<Option name="thousand_separator" type="invalid"/>
|
||||
</Option>
|
||||
</BearingFormat>
|
||||
<GeographicCoordinateFormat id="geographiccoordinate">
|
||||
<Option type="Map">
|
||||
<Option name="angle_format" value="DecimalDegrees" type="QString"/>
|
||||
<Option name="decimal_separator" type="invalid"/>
|
||||
<Option name="decimals" value="6" type="int"/>
|
||||
<Option name="rounding_type" value="0" type="int"/>
|
||||
<Option name="show_leading_degree_zeros" value="false" type="bool"/>
|
||||
<Option name="show_leading_zeros" value="false" type="bool"/>
|
||||
<Option name="show_plus" value="false" type="bool"/>
|
||||
<Option name="show_suffix" value="false" type="bool"/>
|
||||
<Option name="show_thousand_separator" value="true" type="bool"/>
|
||||
<Option name="show_trailing_zeros" value="false" 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)"],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" destinationFollowsActiveLayer="1" autoCommitFeatures="0" destinationLayer="">
|
||||
<timeStampFields/>
|
||||
</ProjectGpsSettings>
|
||||
</qgis>
|
||||
1924
src/main/webapp/resources/QGIS/air_temperature.qgs
Normal file
1924
src/main/webapp/resources/QGIS/air_temperature.qgs
Normal file
File diff suppressed because one or more lines are too long
1630
src/main/webapp/resources/QGIS/frmlocust_adults_density.qgs
Normal file
1630
src/main/webapp/resources/QGIS/frmlocust_adults_density.qgs
Normal file
File diff suppressed because it is too large
Load Diff
1620
src/main/webapp/resources/QGIS/frmlocust_bands.qgs
Normal file
1620
src/main/webapp/resources/QGIS/frmlocust_bands.qgs
Normal file
File diff suppressed because it is too large
Load Diff
1637
src/main/webapp/resources/QGIS/frmlocust_hoppers_density.qgs
Normal file
1637
src/main/webapp/resources/QGIS/frmlocust_hoppers_density.qgs
Normal file
File diff suppressed because it is too large
Load Diff
1574
src/main/webapp/resources/QGIS/frmlocust_pods_density.qgs
Normal file
1574
src/main/webapp/resources/QGIS/frmlocust_pods_density.qgs
Normal file
File diff suppressed because it is too large
Load Diff
1614
src/main/webapp/resources/QGIS/frmlocust_swarms.qgs
Normal file
1614
src/main/webapp/resources/QGIS/frmlocust_swarms.qgs
Normal file
File diff suppressed because it is too large
Load Diff
1498
src/main/webapp/resources/QGIS/frmlocustdel.qgs
Normal file
1498
src/main/webapp/resources/QGIS/frmlocustdel.qgs
Normal file
File diff suppressed because it is too large
Load Diff
539
src/main/webapp/resources/QGIS/frmlocustinfo_p2.qgs
Normal file
539
src/main/webapp/resources/QGIS/frmlocustinfo_p2.qgs
Normal file
@ -0,0 +1,539 @@
|
||||
<!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_p2_${year}20170221133600806" source="dbname='CCALM' host=ccalm.org port=5432 user='guest' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="public"."view_frmlocustinfo_p2_${year}" (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_p2_${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_p2_${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_p2_${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 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" 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_p2_${year}20170221133600806</id>
|
||||
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='guest' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p2_${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=" "percent" > 15" key="{659cc803-83ee-4573-a115-4a5c3cfc7629}" symbol="0" label=">15% trt('Increase')"/>
|
||||
<rule filter=" "percent" < 15 AND "percent" > -15" key="{9ceb56b1-6469-4f8a-9527-51a1d2151967}" symbol="2" label=">=15% trt('and') <=15% trt('On_the_same_level')"/>
|
||||
<rule filter=" "percent" < -15" key="{b6d444f7-e753-4650-a049-92c6e40dd0bc}" symbol="1" label="<15% trt('Decrease')"/>
|
||||
<rule filter=" "percent" 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=""name"||'\n'|| "percent"||'%' "/>
|
||||
<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="<"/>
|
||||
<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="<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_p2_${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>
|
||||
509
src/main/webapp/resources/QGIS/frmlocustinfo_p2r.qgs
Normal file
509
src/main/webapp/resources/QGIS/frmlocustinfo_p2r.qgs
Normal 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="public"."view_frmlocustinfo_p2r_${year}" (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='guest' 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=" "percent" > 15" key="{659cc803-83ee-4573-a115-4a5c3cfc7629}" symbol="0" label=">15% trt('Increase')"/>
|
||||
<rule filter=" "percent" < 15 AND "percent" > -15" key="{9ceb56b1-6469-4f8a-9527-51a1d2151967}" symbol="2" label=">=15% trt('and') <=15% trt('On_the_same_level')"/>
|
||||
<rule filter=" "percent" < -15" key="{b6d444f7-e753-4650-a049-92c6e40dd0bc}" symbol="1" label="<15% trt('Decrease')"/>
|
||||
<rule filter=" "percent" 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=""name"||'\n'|| "percent"||'%' "/>
|
||||
<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="<"/>
|
||||
<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="<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>
|
||||
478
src/main/webapp/resources/QGIS/frmlocustinfo_p3.qgs
Normal file
478
src/main/webapp/resources/QGIS/frmlocustinfo_p3.qgs
Normal file
@ -0,0 +1,478 @@
|
||||
<!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_p3_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_p3_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_p3_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_p3_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 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_p3_201520170221141235646</id>
|
||||
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='guest' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p3_${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", '<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=" "percent" > 15" key="{fad70a76-868e-45d5-a7d0-88e1b6b670c6}" symbol="0" label=">15% trt('Increase')"/>
|
||||
<rule filter=" "percent" < 15 AND "percent" > -15" key="{52cc3773-b4d3-4790-aaf0-eee5e70f5cad}" symbol="2" label=">=15% trt('and') <=15% trt('On_the_same_level')"/>
|
||||
<rule filter=" "percent" < -15" key="{f9d3135a-22bc-481f-96a9-ea2743e1bb3c}" symbol="1" label="<15% trt('Decrease')"/>
|
||||
<rule filter=" "percent" 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=" "name"||'\n'||"percent" || '%'"/>
|
||||
<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="<"/>
|
||||
<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="<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=""name"" 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>
|
||||
508
src/main/webapp/resources/QGIS/frmlocustinfo_p3r.qgs
Normal file
508
src/main/webapp/resources/QGIS/frmlocustinfo_p3r.qgs
Normal 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='guest' 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", '<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=" "percent" > 15" key="{fad70a76-868e-45d5-a7d0-88e1b6b670c6}" symbol="0" label=">15% trt('Increase')"/>
|
||||
<rule filter=" "percent" < 15 AND "percent" > -15" key="{52cc3773-b4d3-4790-aaf0-eee5e70f5cad}" symbol="2" label=">=15% trt('and') <=15% trt('On_the_same_level')"/>
|
||||
<rule filter=" "percent" < -15" key="{f9d3135a-22bc-481f-96a9-ea2743e1bb3c}" symbol="1" label="<15% trt('Decrease')"/>
|
||||
<rule filter=" "percent" 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=" "name"||'\n'||"percent" || '%'"/>
|
||||
<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="<"/>
|
||||
<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="<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=""name"" 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>
|
||||
508
src/main/webapp/resources/QGIS/frmlocustinfo_p4.qgs
Normal file
508
src/main/webapp/resources/QGIS/frmlocustinfo_p4.qgs
Normal 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_p4_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_p4_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_p4_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_p4_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_p4_201520170221164520581</id>
|
||||
<datasource>dbname='CCALM' host=ccalm.org port=5432 user='guest' password='guest' sslmode=disable key='region_id' estimatedmetadata=true srid=4326 type=MultiPolygon table="main"."view_frmlocustinfo_p4_${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=" "percent" >= -25 AND "percent" <= 25" key="{7c75fcc4-03a0-49be-a6e9-f1fd4612e11f}" symbol="0" label="trt('Normal/Multiyear_average_level')"/>
|
||||
<rule description="" filter=" "percent" > 25 OR "percent" < -25" key="{708b86f0-c637-43b1-b85b-823ad0a54776}" symbol="1" label="trt('Danger')"/>
|
||||
<rule filter=" "percent" 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=" "name" || '\n' || "percent" || '%'"/>
|
||||
<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="<"/>
|
||||
<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="<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_p4_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>
|
||||
509
src/main/webapp/resources/QGIS/frmlocustinfo_p4r.qgs
Normal file
509
src/main/webapp/resources/QGIS/frmlocustinfo_p4r.qgs
Normal 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='guest' 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=" "percent" >= -25 AND "percent" <= 25" key="{7c75fcc4-03a0-49be-a6e9-f1fd4612e11f}" symbol="0" label="trt('Normal/Multiyear_average_level')"/>
|
||||
<rule description="" filter=" "percent" > 25 OR "percent" < -25" key="{708b86f0-c637-43b1-b85b-823ad0a54776}" symbol="1" label="trt('Danger')"/>
|
||||
<rule filter=" "percent" 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=" "name" || '\n' || "percent" || '%'"/>
|
||||
<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="<"/>
|
||||
<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="<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>
|
||||
1924
src/main/webapp/resources/QGIS/htc_selyaninov.qgs
Normal file
1924
src/main/webapp/resources/QGIS/htc_selyaninov.qgs
Normal file
File diff suppressed because one or more lines are too long
373
src/main/webapp/resources/QGIS/index.jsp
Normal file
373
src/main/webapp/resources/QGIS/index.jsp
Normal file
@ -0,0 +1,373 @@
|
||||
<%@ 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"%>
|
||||
|
||||
<%!
|
||||
//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="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
String fullPath = pageContext.getServletContext().getRealPath("/WEB-INF/config.xml");
|
||||
File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
Document doc = dBuilder.parse(fXmlFile);
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
//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<='"+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<='"+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));
|
||||
|
||||
%>
|
||||
1924
src/main/webapp/resources/QGIS/precipitation.qgs
Normal file
1924
src/main/webapp/resources/QGIS/precipitation.qgs
Normal file
File diff suppressed because one or more lines are too long
1924
src/main/webapp/resources/QGIS/soil_temperature.qgs
Normal file
1924
src/main/webapp/resources/QGIS/soil_temperature.qgs
Normal file
File diff suppressed because one or more lines are too long
BIN
src/main/webapp/resources/engine/b.png
Normal file
BIN
src/main/webapp/resources/engine/b.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 341 B |
93
src/main/webapp/resources/engine/buttons.css
Normal file
93
src/main/webapp/resources/engine/buttons.css
Normal file
@ -0,0 +1,93 @@
|
||||
/*https://1stwebdesigner.com/free-code-snippets-css-buttons/*/
|
||||
|
||||
:root{
|
||||
--btn-color: #d9d9cc; /*Цвет кнопки*/
|
||||
--btn-color2: #E0E0FF; /*Цвет кнопки при наведении на неё мышкой*/
|
||||
}
|
||||
|
||||
/* Normal white Button as seen on Google.com*/
|
||||
button,
|
||||
.button-secondary{
|
||||
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.blue {
|
||||
color: white;
|
||||
background: #4C8FFB;
|
||||
border: 1px #3079ED solid;
|
||||
box-shadow: inset 0 1px 0 #80B0FB;
|
||||
}
|
||||
|
||||
button.blue:hover {
|
||||
border: 1px #2F5BB7 solid;
|
||||
box-shadow: 0 1px 1px #EAEAEA, inset 0 1px 0 #5A94F1;
|
||||
background: #3F83F1;
|
||||
}
|
||||
|
||||
button.blue:active {
|
||||
box-shadow: inset 0 2px 5px #2370FE;
|
||||
}
|
||||
|
||||
/* 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);
|
||||
}
|
||||
BIN
src/main/webapp/resources/engine/config.png
Normal file
BIN
src/main/webapp/resources/engine/config.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
BIN
src/main/webapp/resources/engine/exit.png
Normal file
BIN
src/main/webapp/resources/engine/exit.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/main/webapp/resources/engine/g.png
Normal file
BIN
src/main/webapp/resources/engine/g.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 767 B |
96
src/main/webapp/resources/engine/geo_json.jsp
Normal file
96
src/main/webapp/resources/engine/geo_json.jsp
Normal file
@ -0,0 +1,96 @@
|
||||
<%@ 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"%>
|
||||
<%
|
||||
|
||||
String db_url="";
|
||||
String db_login="";
|
||||
String db_password="";
|
||||
//Load DB configuration from "config.xml"
|
||||
try {
|
||||
String fullPath = pageContext.getServletContext().getRealPath("/WEB-INF/config.xml");
|
||||
File fXmlFile = new File(fullPath);
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
Document doc = dBuilder.parse(fXmlFile);
|
||||
Element nMain=doc.getDocumentElement();
|
||||
NodeList nl=nMain.getChildNodes();
|
||||
for (int i = 0; i <nl.getLength(); i++)
|
||||
{
|
||||
if(nl.item(i).getNodeName().equals("db-url"))
|
||||
db_url=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-login"))
|
||||
db_login=nl.item(i).getTextContent();
|
||||
if(nl.item(i).getNodeName().equals("db-password"))
|
||||
db_password=nl.item(i).getTextContent();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
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();
|
||||
|
||||
%>
|
||||
BIN
src/main/webapp/resources/engine/help.png
Normal file
BIN
src/main/webapp/resources/engine/help.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_ENG.docx
Normal file
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_ENG.docx
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_ENG.pdf
Normal file
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_ENG.pdf
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_RUS.docx
Normal file
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_RUS.docx
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_RUS.pdf
Normal file
BIN
src/main/webapp/resources/engine/help/ASDC_for_Android_RUS.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/CCALM_help_ENG.doc
Normal file
BIN
src/main/webapp/resources/engine/help/CCALM_help_ENG.doc
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/CCALM_help_ENG.pdf
Normal file
BIN
src/main/webapp/resources/engine/help/CCALM_help_ENG.pdf
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/CCALM_help_RUS.docx
Normal file
BIN
src/main/webapp/resources/engine/help/CCALM_help_RUS.docx
Normal file
Binary file not shown.
BIN
src/main/webapp/resources/engine/help/CCALM_help_RUS.pdf
Normal file
BIN
src/main/webapp/resources/engine/help/CCALM_help_RUS.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user