arcgis runtime 100 Create geometries
1 /* Copyright 2016 EsriEsri
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 *
15 */
16 17 package com.esri.arcgisruntime.sample.creategeometries;
18 19 import android.graphics.Color;
20 import android.os.Bundle;
21 import android.support.v7.app.AppCompatActivity;
22 23 import com.esri.arcgisruntime.geometry.Envelope;
24 import com.esri.arcgisruntime.geometry.Multipoint;
25 import com.esri.arcgisruntime.geometry.Point;
26 import com.esri.arcgisruntime.geometry.PointCollection;
27 import com.esri.arcgisruntime.geometry.Polygon;
28 import com.esri.arcgisruntime.geometry.Polyline;
29 import com.esri.arcgisruntime.geometry.SpatialReferences;
30 import com.esri.arcgisruntime.mapping.ArcGISMap;
31 import com.esri.arcgisruntime.mapping.Basemap;
32 import com.esri.arcgisruntime.mapping.view.Graphic;
33 import com.esri.arcgisruntime.mapping.view.GraphicsOverlay;
34 import com.esri.arcgisruntime.mapping.view.MapView;
35 import com.esri.arcgisruntime.symbology.SimpleFillSymbol;
36 import com.esri.arcgisruntime.symbology.SimpleLineSymbol;
37 import com.esri.arcgisruntime.symbology.SimpleMarkerSymbol;
38 39 /**
40 * Shows straightforward ways to create Point, Envelope, Multipoint, Polyline, and Polygon geometries. Shows a MapView
41 * with a GraphicsOverlay containing Graphics created from the Point, Multipoint, Polyline, and Polygon geometries, and
42 * sets the Viewpoint of the Map from the Envelope geometry.
43 */
44 public class MainActivity extends AppCompatActivity {
45 46 private Envelope createEnvelope() {
47 48 //[DocRef: Name=Create Envelope, Category=Fundamentals, Topic=Geometries]
49 // create an Envelope using minimum and maximum x,y coordinates and a SpatialReference
50 Envelope envelope = new Envelope(-123.0, 33.5, -101.0, 48.0, SpatialReferences.getWgs84());
51 //[DocRef: END]
52 53 return envelope;
54 }
55 56 private Point createPoint() {
57 //[DocRef: Name=Create Point, Category=Fundamentals, Topic=Geometries]
58 // create a Point using x,y coordinates and a SpatialReference
59 Point pt = new Point(34.056295, -117.195800, SpatialReferences.getWgs84());
60 //[DocRef: END]
61 62 return pt;
63 }
64 65 private Multipoint createMultipoint() {
66 //[DocRef: Name=Create Multipoint, Category=Fundamentals, Topic=Geometries]
67 // create a Multipoint from a PointCollection
68 PointCollection stateCapitalsPST = new PointCollection(SpatialReferences.getWgs84());
69 stateCapitalsPST.add(-121.491014, 38.579065); // Sacramento, CA
70 stateCapitalsPST.add(-122.891366, 47.039231); // Olympia, WA
71 stateCapitalsPST.add(-123.043814, 44.93326); // Salem, OR
72 stateCapitalsPST.add(-119.766999, 39.164885); // Carson City, NV
73 Multipoint multipoint = new Multipoint(stateCapitalsPST);
74 //[DocRef: END]
75 76 return multipoint;
77 }
78 79 private Polyline createPolyline() {
80 //[DocRef: Name=Create Polyline, Category=Fundamentals, Topic=Geometries]
81 // create a Polyline from a PointCollection
82 PointCollection borderCAtoNV = new PointCollection(SpatialReferences.getWgs84());
83 borderCAtoNV.add(-119.992, 41.989);
84 borderCAtoNV.add(-119.994, 38.994);
85 borderCAtoNV.add(-114.620, 35.0);
86 Polyline polyline = new Polyline(borderCAtoNV);
87 //[DocRef: END]
88 89 return polyline;
90 }
91 92 private Polygon createPolygon() {
93 //[DocRef: Name=Create Polygon, Category=Fundamentals, Topic=Geometries]
94 // create a Polygon from a PointCollection
95 PointCollection coloradoCorners = new PointCollection(SpatialReferences.getWgs84());
96 coloradoCorners.add(-109.048, 40.998);
97 coloradoCorners.add(-102.047, 40.998);
98 coloradoCorners.add(-102.037, 36.989);
99 coloradoCorners.add(-109.048, 36.998);
100 Polygon polygon = new Polygon(coloradoCorners);
101 //[DocRef: END]
102 103 return polygon;
104 }
105 106 107 @Override
108 protected void onCreate(Bundle savedInstanceState) {
109 super.onCreate(savedInstanceState);
110 setContentView(R.layout.activity_main);
111 112 // get MapView from layout
113 MapView mMapView = (MapView) findViewById(R.id.mapView);
114 115 // create a map with the BasemapType topographic
116 final ArcGISMap mMap = new ArcGISMap(Basemap.createTopographic());
117 118 // set the map to be displayed in this view
119 mMapView.setMap(mMap);
120 121 // create color and symbols for drawing graphics
122 SimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.TRIANGLE, Color.BLUE, 14);
123 SimpleFillSymbol fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.CROSS, Color.BLUE, null);
124 SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 3);
125 126 // add a graphic of point, multipoint, polyline and polygon.
127 GraphicsOverlay overlay = new GraphicsOverlay();
128 mMapView.getGraphicsOverlays().add(overlay);
129 overlay.getGraphics().add(new Graphic(createPolygon(), fillSymbol));
130 overlay.getGraphics().add(new Graphic(createPolyline(), lineSymbol));
131 overlay.getGraphics().add(new Graphic(createMultipoint(), markerSymbol));
132 overlay.getGraphics().add(new Graphic(createPoint(), markerSymbol));
133 134 // use the envelope to set the map viewpoint
135 mMapView.setViewpointGeometryAsync(createEnvelope(), getResources().getDimension(R.dimen.viewpoint_padding));
136 137 }
138 139 }
arcgis runtime 100 Create geometries的更多相关文章
- Arcgis Runtime 100.3开发实例源代码调试日志
Arcgis Runtime 100.3开发实例源代码调试日志 路径: "D:\arcgis runtime1003\arcgis-runtime-samples-dotnet-master ...
- 使用ArcGIS Runtime 100 进行本地GIS数据处理的注意事项
如下图所示,如果需要使用ArcGIS Runtime 100 进行本地GIS数据处理,则需要依赖Local Server通过发布GP服务实现. 一.ArcGIS Runtime所使用的GPK是有版本限 ...
- 基于ArcGIS Runtime 100.x 的移动应用程序开发框架 开源
ArcGIS Runtime作为新一代的轻量GIS应用开发产品,它提供多种API,可以使用Android,iOS,Java,Mac OS X(Objective-C/Swift)..NET,Qt(C+ ...
- ArcGIS Runtime For Android 100.3天地图不加载问题
ArcGIS Runtime 100.3 不加载天地图问题 参考这篇帖子:https://community.esri.com/thread/220496-1003-webtiledlayer-can ...
- ArcGIS Runtime for Android 使用异步GP服务绘制等值线
关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...
- (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线
关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...
- ArcGIS Runtime SDK for iOS开发地图图层-图形图层
注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm 创建图 ...
- ArcGIS Runtime For Android setViewpointCenterAsync(Point center, double scale)效果奇葩,不响应
最近做一个东西,用的是ArcGIS Runtime Sdk for Android 100.1.0,由于刚用这个版本,理解不够,出现了一个奇葩问题 在对FeatureLayer进行Query之后,想要 ...
- ArcGIS Runtime SDK for iOS之符号和渲染
符号定义了图形外观的非地理方面.它包括了图形的颜色.线宽.透明度等等.ArcGIS Runtime SDK for iOS包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...
随机推荐
- information_schema Introduction
information_schema介绍 information_schema数据库是MySQL自带的,里面的“表”保存着服务器当前的实时信息.它提供了访问数据库元数据的方式.元数据是关于数据的数据, ...
- 1、树莓派3B开箱+安装系统
说白了,树莓派就是英国人为学生开发的一款微型电脑.电脑能干什么,那就多了.英国小学生有用树莓派做气象站的,有检测家长开门回家的(可以安心玩游戏了),总之脑洞有多大就可以玩多大. 了解到了之后就一直心水 ...
- 使用celery时要注意的任务调用形式
因为之前,一直用django和celery紧密集成,不分家. 所以使用时参考了网上的配置之后,没有变更过. 最近,和洪军想用k8s的pod重新规划系统构架时,这个问题才又浮了出来. 只是我们的task ...
- JAVA类课后练习
1.Pg168--2 package com.hanqi; import java.util.Scanner; public class Rectangle { Rectangle() { //完成初 ...
- USACO 4.3 Letter Game (字典树)
Letter GameIOI 1995 Figure 1: Each of the 26 lowercase letters and its value Letter games are popula ...
- JavaScript对象参考手册
1.array 属性: constructor 返回原型函数: length 数组个数: prototype 向对象添加属性和方法 方法: concat() 连接两个或多个数组,并返回结果: fill ...
- Hadoop CapacitySchedule配置
下面是Hadoop中CapacitySchedule配置,包含了新建队列和子队列 <configuration> <property> <name>yarn.sch ...
- 《Android源码设计模式》--模板方法模式
No1: 模板方法模式包括:抽象类(其中定义了一系列顺序方法).具体实现类A.具体实现类B 如果子类有实现不一样的细节,重写父类的某个方法即可 No2: AsyncTask对象调用execute方法后 ...
- 基于五阶段流水线的RISC-V CPU模拟器实现
RISC-V是源自Berkeley的开源体系结构和指令集标准.这个模拟器实现的是RISC-V Specification 2.2中所规定RV64I指令集,基于标准的五阶段流水线,并且实现了分支预测模块 ...
- 用Python开始机器学习(3:数据拟合与广义线性回归)
机器学习中的预测问题通常分为2类:回归与分类. 简单的说回归就是预测数值,而分类是给数据打上标签归类. 本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析. 本例中使用一个 ...