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包含了许多符号类,其中的每个类可以让你以独特的方式指定符号.每个符号的类型也是 ...
随机推荐
- thinkphp中导入和使用阿里云OSSsdk
照做绝对行,在ThinkPHP中,第三方库都放在ThinkPHP/Library/Vendor/路径下. 1.下载OSS PHP SDK:https://help.aliyun.com/documen ...
- UWP入门——应用数据和设置
数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作. 应用数据:应用数据包含APP的状态信息(如运行时状态,用户 ...
- CSUOJ 1901 赏赐 OR 灾难 单调栈
Description 大G南征北战终于打下了大片土地成立了G国,大G在开国大典上传召帮助自己南征北战的三大开国元勋小A,小B,小C进殿,并要赏赐三人大量宝物以显示天恩浩荡.大G在征服其他国家的时候抢 ...
- JavaScript 网页脚本语言 由浅入深 (随笔)
1)基础 学习目的: 1. 客户端表单验证 2. 页面动态效果 3. jQuery的基础 什么是JavaScript? 一种描述性语言,也是一种基于对象和事件驱动的,并具有安全性能的脚本语言 java ...
- 你见过这些JavaScript的陷阱吗?
一.成员操作符 Number.prototype.testFn=function () { console.log(this<0, this.valueOf()); } var num = -1 ...
- JSTL介绍
JSTL介绍 一.介绍 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标 ...
- Java设计模式GOF之6大设计原则
Java设计模式GOF之6大设计原则原则 1.开闭原则(Open Close Principle) 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 开闭原则是面向对象的可复用设计的第一块基石 ...
- [BZOJ2815][ZJOI2012]灾难(拓扑排序/支配树)
支配树目前只见到这一个应用,那就不独分一类,直接作为拓扑排序题好了. 每个点向所有食物连边,定义fa[x]为x的支配点,即离x最近的点,满足若fa[x]灭绝,则x也要灭绝. 这样,将fa[x]向x连边 ...
- 关于zip伪加密
创建一个zip文件 然后用winhex打开 可以看到第二个PK头的地方对应hex区域有一场串0000000000 在这里的第四个0这里末尾修改成奇数 奇数为加密 偶数为不加密 再去打开就可以看到加密了
- JavaScript数组中的22个常用方法
数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍. ...