Sunday, October 26, 2014

Configure Eclipse for Arcobjects SDK for Java

Configure Eclipse for Arcobjects SDK for Java

This post will guide you on how to instal and configure arcobjects sdk for java.

After installing you’ll get the folder of DeveloperKit10.2 in C:\Program Files (x86)\ArcGIS\DeveloperKit10.2 or whatever your installed directory is.
  
Now install Eclipse ide after Eclipse is installed we have to import the arcobjects library or install it into eclipse.
Open Eclipse
Go to Help à Install New Software à Click on the Add button



In Name Enter Arcobjectslibrary à click on Local button and select the path
C:\Program Files (x86)\ArcGIS\DeveloperKit10.2\java\tools\eclipse_plugin\arcgis_update_site\arcobjects
Or whatever your installed directory of ArcGIS is.



And click ok. It will take some time and might give you error that arc gis palette cant be installed So for that you have to install swing in Eclipse first before installing arcobjects.
(Installing Swing and other components is easy Just open eclipse à Help à Instal New Software à click on the drop down and select the site of your eclipse version as in my case its kepler)




Under General Select Swing designer and AWT designer and click install. Now it’ll take some time to install.
After its installed try again installing arcobjects and this time it’ll get installed. How ever if the Pallete does not gets installed then no worries J
Okay now Lets get started

For ArcGIS 10.0 and older versions I’ll recommend you to use 32 bit eclipse and 32 bit Java but for ArcGIS 10.1 or newer it don’t really matter. I am using 10.2 ArcGIS and for that I am using 64 bit eclipse and for Java I am using 64 bit but for eclipse in general but for arc objects you require 32 bit I’ll tell you how you can manage this.
We’ll start by running a small sample to show you how to run it and also to help you cater the basic error which might occur. After that I am going to show you about how to make a basic add in (toolbar button dockable window etc) in ArcObjects for ArcGIS.

ArcObjects Development, Developing Stand Alone GIS Desktop Applications and Developing Addins for ArcGIS Desktop


Develop Addin for ArcGIS Part 1


Develop Addin for ArcGIS Part 2

Develop Addin for ArcGIS Part 2

Develop Addin for ArcGIS Part 2

To see the part 1 click here

In this post we'll develop Add in for ArcGIS.
 We have configured the Eclipse project for Addin Development using Arcobjects and also configured the Java for it.
To configure Project for ArcObject see this post.

We have the project setup for this. you can see the config.xml file in its addin view (we'll talk about the views later). This view helps alot and makes sure the consistency and their are no errors in config file. Through this we can add different buttons, tools, meus, system tools, dockable window, palette etc and also can organize them.
Click on the source tab at the bottom of config.xml and you can see the xml source code.
Click back to addin view.
Add the details of project Name company etc etc What they are ? you can find help regarding this in esri resource help.

http://resources.arcgis.com/en/help/arcobjects-java/concepts/engine/

Click on add button and Add the toolbar.
Give name and id. This id will be used in our java classes later.

Add some System tools e.g zoomin, pan etc.

After Adding Click on Toolbars and you'll see that it refreshes it self and you'll see the added system tools are shown under your toolbar.
Now we'll add custom functionality. Click on Add and select button. A new button will be created. you have to add this button to your toolbar explicitly by again selecting the toolbar and adding the new button to right pane.

Fill in the details 

Click on Class button and press finish.

Class will be formed

Enter the following code.

Add the button to toolbar.

You can see the button added to toolbar

On Config.xml press export to add addin to ArcGIS. Now there are different methods to deploy your addin. I will follow the simple approach of direct deploying. 
You can see the list of deploying options and details here
http://resources.arcgis.com/en/help/arcobjects-java/concepts/engine/#/How_to_deploy_your_add_in/0001000006sp000000/

You can give the path of C:\Users\Blabla\Documents\ArcGIS\AddIns\Desktop10.2 and press finish. A warning may appear press ok.

Open ArcMap and click on customize and then click on addins and see the installed addin.
Again click on customize and the click on toolbars and add you toolbar.
You can see our toolbar.

Click on the button and see the Hello World ;)



Develop Addin for ArcGIS Part 1

Develop Addin for ArcGIS Part 1

In this post we'll develop a basic addin for ArcGIS using ArcObjects SDK for Java.

Open Eclipse and Create new project 
File -> New -> Other


Then Select Esri Templates -> ArcGIS Extensions -> Desktop -> ArcMap Add In Project

Then On New Addin Project window  and click on Configure JRE (We are going to add ArcObjects compatible JRE to eclipse it comes installed with ArcGIS desktop after that we'll set the execution environment)

Click on Add 

Select Standard VM
Click Next
Click on Directory and enter the name and following path as shown in figure
Click finish
Again click on configure JRE
Select installed JREs and click on execution Environments
Select Java SE 1.6 and Select the previously added JRE (Java ArcGIS)
Click Ok and Click Next
Click on libraries tab
Click Add libraries
Select ArcObjects Libraries 
(for adding Arcobjects library to eclipse see this tutorial)
Click finish
You can see the following on your screen. Everything is configured.

For next part see the next tutorial here

ArcObjects Development, Developing Stand Alone GIS Desktop Applications and Developing Addins for ArcGIS Desktop

ArcObjects Development, Developing Stand Alone GIS Desktop Applications and Developing Addins for ArcGIS

This post is going to discuss what things are required for Developing Stand Alone GIS desktop Applications or for developing Addins (plugins) for ArcGIS.

We'll be using ArcObjects SDK for Java. Esri also facilitates its user by giving a complete detailed resource for SDK. here are some of the important links

http://resources.arcgis.com/en/help/arcobjects-java/concepts/engine/

Why i am writing this post is because of the reason that for beginners this resource will not be of much help. This blog aims to help developers who are in their learning phase. So I'' tell you the basic start up tips for this arcobjects development.

Pre-requisites required :
Basic Understanding of Java
Eclipse IDE configured to be used for arcobject developments
To configure eclipse see this post

Outline:
1. How to check errors, how to enable console of ArcGIS, how to log errors.
3. Develop Stand alone GIS desktop application.
4. Coming Soon 

Saturday, May 17, 2014

ArcGIS Server Results Not showing up - (Problem caused by using specified extent of shapefile)

ArcGIS Server Results Not showing up - (Problem caused by using specified extent of shapefile)

While working on my Web Mapping Project i faced a problem, my buffer function which was functioning earlier started to show no data. And this was done after i republished the services (shapefiles) with the specified extent .

For Publishing shape file on specified extent 
see this Article

Or
To remove this warning 
Publish Shape File Warning 30003: Layer draws at all scale ranges
see this Article

In actual the problem occurred due to the reason that i had a shape file of country level and other 5 of city level, and i specified the extent of city level shape files using ArcGIS for Desktop and then published them, while in my buffer script i specified the extent of country level shape file, So the results from city level shape file were not showing up.

Tuesday, May 13, 2014

ArcGIS server - Google Map API

Overlay ArcGIS server Published Shape file on Google Maps

For beginners its really difficult to get things started i.e. How to overlay shape file on web mapping application using Google Map Api and ArcGIS server.


I assume you have published a shape file on ArcGIS server and You know a little bit about Google maps Api and if you dont know here you can learn this
Google Map Api (Basics) 

How to Publish Shape file on ArcGIS server

Now, First Open Note Pad ++ and make a basic html page containing a div and name it map_canvas

<!DOCTYPE html>
<html>
<head>
<title> ArcGIS Server - Google Map Api </title>

</head>

<body>
<div id="map_canvas" style="width:1000px;height:600px;"></div>
</body>

</html>

Now add two links

<!DOCTYPE html>
<html>
<head>
<title> ArcGIS Server - Google Map Api </title>

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" SRC="arcgislink.js"></script>


</head>

<body>
<div id="map_canvas" style="width:1000px;height:600px;"></div>
</body>

</html>

the first one is for adding Google Map api and the second one is for adding arcgis server library that you can find detail information here Open it and copy it and save it as arcgislink.js

Now,  write this script

<!DOCTYPE html>
<html>
<head>
<title> ArcGIS Server - Google Map Api </title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" SRC="arcgislink.js"></script>
<script type="text/javascript">
var dynamap;
function init() 
{
var mapprop = {
center : new google.maps.LatLng (33.716786,73.068171),
zoom : 14,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),mapprop);


var url = 'http://localhost:6080/arcgis/rest/services/Test_Service/MapServer';
var dynamap = new gmaps.ags.MapOverlay(url);
dynamap.setMap(map);
}
google.maps.event.addDomListener(window, 'load', init);
</script>
</head>
<body>
<div id="map_canvas" style="width:1000px;height:600px;"></div>
</body>

</html>

Save it as index.html and Open it in browser You'll see a google map with your shapefile overlayed on it .

Sunday, May 11, 2014

How to Publish Shape file on ArcGIS server

How to Publish Shape file on ArcGIS server


This tutorial will guide you in publishing shape file on ArcGIS server. This is a basic introduction to ArcGIS server, i am going to publish a single shape file on ArcGIS server.

Well upto this point i assume that you have ArcGIS server installed and ready to use.
(For connecting ArcGIS server to ArcCatalog click here)

Talking about professional approach you need to open shape file from data base but for this tutorial a single basic shape fill will be enough.

Now, Open ArcGIS for Desktop (ArcMap) and Add shape file 



Go to file, Share As, and click Service

Click Publish a service



Click next, and Choose a connection 
" arcgis for local host_6080 (admin) "
and then rename the service

Choose "use existing folder" (if you want to publish on the same folder i.e. root)

Now, Service Editor will be opened, here you'll set the properties of service to be published. (e.g. Type of service, No of Instances, Description, Tags, etc. )

Click on Analyze, It'll show the warnings (ignore these warnings as this is for the basic purpose whereas for publishing for a project a professional purpose Remember Each and every warning is important) and now click publish.



Now click Publish.
Now open http://localhost:6080/arcgis/rest/services and You'll se your shape file there.

Shape file is published . Now for adding it to any API (Google Map Api use its address)
http://localhost:6080/arcgis/rest/services/Test_Service/MapServer