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





Tuesday, May 6, 2014

Esri ArcGIS Server, Publish Shape File Warning 30003: Layer draws at all scale ranges

Esri ArcGIS Server, Publish Shape File Warning 30003: Layer draws at all scale ranges


When Publishing shape files from ArcGIS server i received a warning "30003: Layer draws at all scale ranges". 
This post concerns about what this warning is and how to resolve this issue.

What is warning 30003 : Layers draws at all scale ranges, well working with maps you have probably come up with a problem that information at certain zoom level jumbles up and you have to zoom in and zoom in to perceive information


When you set information detail in dependence with zoom level you can have this warning removed.

Note: For Beginners, never ignore a warning while publishing ArcGIS server layers, its a tip :) 
You try to google the errors and you'll know what things are and how they work . . . 

If you publish a shape file whose extent is specified you MUST MUST MUST read this article.

How to Use Apache and PHP installed from Stack Builder (PostgreSQL)

How to Use Apache and PHP installed from Stack Builder (PostgreSQL)


Well, When i started working with PostgreSQL (POSTGIS) specially Apache and PHP, i faced a problem of deploying my application on local server. Normally when we work on Apache and PHP we normally use different pre-configured configurations like (WAMP, WAPP, XAMP etc) or we configure it manually, in doing both we deploy application in the "Apache" folder and inside apache folder we deploy it or copy (application) website into "htdocs" folder and then we open it using web browser by typing localhost/test.html (if we deploy (copy) test.html).
Whereas in case if you installed Apache and PHP using stack builder we have to deploy application in "www" folder. i.e. copy the website into www folder. 
Also if you want to check the version of Apache and PHP open browser and type http://localhost:8080/
It'll open the default page and you can see the PHP and Apache version Also it'll make sure that server is up and running.
Also you can check it by going to start menu and click EnterpriseDB Apache PHP. It'll open the localhost default page.


Wednesday, April 2, 2014

PostgreSQL Libraries for ARCGIS Server (Register Database with ArcGIS server)

PostgreSQL Libraries for ARCGIS Server (Register Database with ArcGIS server)


What correct Libraries to use ??
Well there are four type of client libraries
  1. pg_client_windows64
  2. pg_client_windows86
  3. pg_client_linux64
  4. pg_client_linux86
  1. pg_client_windows64
    This include client files required to make connection from 64 bit windows platform client to PostgreSQL
    libeay32.dll, libintl.dll, libpq.dll, and ssleay32.dl
  2. pg_client_windows86
    This include client files required to make connection from 32 bit windows platform client to PostgreSQL
     libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll, and ssleay32.dll
  3. pg_client_linux64
    This include client files required to make connection from 64 bit linux platform client to PostgreSQL
     libpq.so, libpq.so.5, and libpq.so.5.3.
  4. pg_client_linux32
    This include client files required to make connection from 32 bit linux platform client to PostgreSQL

Required libraries need to be copied to 
C:\Program Files\ArcGIS\Server\bin  

Register Database to ArcGIS server

Register Database to ArcGIS server


While publishing data (from database) to ArcGIS server it gives you a warning that

24011: Data source is not registered with the server and data will be copied to the server

How to resolve this ??
Well there are different approaches, here is the one which i followed. But before doing anything Please Note:
Note: The client side libraries need to be copied to ArcGIS server's bin folder. What does this mean ??
Well you have to copy the libraries (obtained from esri's customer portal Or simply google it "PostgreSQLClientLibs922" Or PostgreSQL libraries for ArcGIS server)
Copy the correct version of libraries to
C:\Program Files\ArcGIS\Server\bin   

Note to see the correct version of libraries click here.

Now,
  • Open ArcGIS server Manager from (prefer Internet Explorer)http://localhost:6080/arcgis/manager/site.html
  • Sign in to your ArcGIS server account
  • On home Page under Directories tab click on Data Store
  • Click on Registered Database


  • Type Name, and click on Import. It'll ask you "The System/PublishingTools service is currently stopped. Click Start Service to start it now and continue with registering a Data Store". Click on start service
  • It'll then ask you "Select the connection file (.sde or .odc file) you want to import."
  • Browse to Select the connection.sde file. 
  • Where you can find .sde file ??
  • Open Arc Catalog and then right click your database connection file and click on properties under DATA BASE CONNECTIONS in Arc Catalog tree.
  • There you will find the path of your connection file.

  • Now using this path browse to select the connection .sde file for both the Publisher Database connection and server database connection (Mostly its the same)

Upon successful import you'll see this 

Click on Validate All and the question mark will be removed.