kotlin中mainactivity无法直接调用xml中的控件_使用52North 客户端接口调用OGC WPS服务...
生活随笔
收集整理的這篇文章主要介紹了
kotlin中mainactivity无法直接调用xml中的控件_使用52North 客户端接口调用OGC WPS服务...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ?52°North是一個來自研究機構、工業界和公共行政管理界的研究者組成的開放國際合作組織,他們通過協作研發流程促進地理信息學創新。具體來說他們開發新的地理信息概念和技術,例如用于管理時空測量數據,以及通過網絡共享地理處理技術。他們評估新的GIS發展趨勢,如物聯網、語義 Web 或鏈接開放數據,并在實踐中嘗試研究和應用這些趨勢。在 52°North 研發過程中開發的所有軟件均以開源許可證發布。
? ? ? ? 該組織之所以叫這個名字,是因為該組織的所在地——德國明斯特市位于北緯51°57 ' 38.394" ,東經7°37 ' 34.086" 的位置。? ? ? ? 本節使用52°North的wps客戶端來連接執行WPS服務。對于GeoTools的wps工具,試了幾次都有問題,就不再浪費時間研究了。? ? ? ? 下面新建一個項目,當然直接在上一篇調用wfs的項目上新建一個類也是一樣的。? ? ? ? 下面接是該調用wps服務的類的代碼,實現了調用geoserver的buffer服務,并返回緩沖區結果。package?edu.sdau.wpsstudy;import java.io.IOException;import javax.xml.transform.TransformerException;import org.apache.xpath.XPathAPI;import org.apache.xpath.objects.XObject;import org.n52.wps.client.ExecuteRequestBuilder;import org.n52.wps.client.WPSClientException;import org.n52.wps.client.WPSClientSession;import net.opengis.wps.x100.ExecuteDocument;import net.opengis.wps.x100.ExecuteResponseDocument;import net.opengis.wps.x100.ProcessDescriptionType;import net.opengis.wps.x100.ProcessDescriptionType.DataInputs;public class ReadWps { public static void main(String[] args) throws IOException, WPSClientException, TransformerException { String url = "http://localhost:8080/geoserver/ows"; String processID = "JTS:buffer"; //創建連接客戶端 WPSClientSession wpsClient = WPSClientSession.getInstance(); boolean connected = wpsClient.connect(url); if (!connected) { System.out.println("無法連接到WPS."); return; } //獲取所有的process名稱或ID String[] pnames = wpsClient.getProcessNames(url); for (int i = 0; i < pnames.length; i++) { System.out.println(pnames[i]); } //創建某個process的描述信息 ProcessDescriptionType processDescription = wpsClient.getProcessDescription(url, processID); //查看某個process的數據輸入信息,可以通過dt訪問許多關于輸入數據的信息 DataInputs dt = processDescription.getDataInputs(); //查看完整的process的xml信息。 System.out.println("該process的描述:\n" + processDescription.xmlText() + "\n"); //創建請求 ExecuteRequestBuilder executeBuilder = new ExecuteRequestBuilder(processDescription); //增加復雜數據數據,即創建幾何輸入 String paramGeo = "geom"; executeBuilder.addComplexData(paramGeo, "POINT(100 100)", null, null, "application/wkt");// String schema = "http://schemas.opengis.net/gml/3.1.1/base/gml.xsd";// String encoding = "base64"; //創建緩沖區距離,literaData String input = String.valueOf(20); String parameterIn = "distance"; executeBuilder.addLiteralData(parameterIn, input); //創建輸出參數 String parameterOut = "result"; executeBuilder.setResponseDocument(parameterOut, null, null, null); if (!executeBuilder.isExecuteValid()) System.out.println("創建執行請求失敗!"); // 執行wps處理 ExecuteDocument executeRequest = executeBuilder.getExecute(); System.out.println("發送的執行請求是:\n" + executeRequest.xmlText() + "\n"); Object response = wpsClient.execute(url, executeRequest); System.out.println("獲取的響應結果是:\n" + response.toString() + "\n"); //輸出結果 if (response instanceof ExecuteResponseDocument) { ExecuteResponseDocument responseDoc = (ExecuteResponseDocument) response; XObject data = XPathAPI.eval(responseDoc.getDomNode(), "//wps:ComplexData"); String output = data.toString(); System.out.println(output); } }}下面是pom.xml的內容。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0modelVersion>??<groupId>?edu.sdaugroupId> <artifactId>wpsstudyartifactId> <version>0.0.1-SNAPSHOTversion> <packaging>jarpackaging> <name>wpsstudyname> <url>http://maven.apache.orgurl> <properties>????<project.build.sourceEncoding>UTF-8project.build.sourceEncoding> properties> <dependencies> <dependency> <groupId>junitgroupId> <artifactId>junitartifactId> <version>4.11version> <scope>testscope> dependency> <dependency> <groupId>org.n52.wpsgroupId> <artifactId>52n-wps-client-libartifactId> <version>3.3.1version> dependency> <dependency> <groupId>org.slf4jgroupId> <artifactId>slf4j-simpleartifactId> <version>1.7.30version> <scope>compilescope> dependency> dependencies> <repositories> <repository> <id>n52-releasesid> <name>52n Releasesname> <url>http://52north.org/maven/repo/releasesurl> <releases> <enabled>trueenabled> releases> <snapshots> <enabled>trueenabled> snapshots> repository>??repositories>project>點右鍵運行,可以看到輸出結果。
總結
以上是生活随笔為你收集整理的kotlin中mainactivity无法直接调用xml中的控件_使用52North 客户端接口调用OGC WPS服务...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023年智能手机出货量预计为11.3亿
- 下一篇: 完美国际真数苹果_如果给你推荐一款很贵,