Spatial reference issue?

2773
8
09-21-2010 03:53 PM
MichaelBishopp
Occasional Contributor
We just recently upgraded our ArcGIS Servers to version 10.  When we did this, the one Dynamic service in my application would no longer display.  In fact, it failed as an I/O error.

I did some digging and found out that my Tiled Service Layer (the orthophotos--which are cached) has a spatial reference of: BellevueNAD83NSRS2007--In other words, it has a custom projection (or no 4 digit number assigned to this projection).  It turns out that my Dynamic Service has a Spatial Reference of 2926.  When the map app launches, the Tiled layer (orthos) will draw, but the Dynamic/Operational Layer will NOT draw.  I have also tried to load a Dynamic Service with a Spatial Reference of BellevueNAD83NSRS2007 on top of the Tiled Service...no luck.

The funny thing is that I have also tested with another Tiled Service (a hillshade cache).  This Tiled Service has a Spatial Reference of 2926.  I then load on top of it a Dynamic Service with a Spatial Reference of BellevueNAD83NSRS2007.  In this case both the Tiled Service and the Dynamic Service draw.

I suppose I could convert my tiled service that contains the orthos back to Spatial Reference 2926, but this to me is counter to the direction we are headed with our other featureclasses.  Our orthos are in Spatial Reference BellevueNAD83NSRS2007 and that is the way I wish to keep them because all of our other data will eventually be in that Spatial Reference.  I would hate to keep two copies of the data, one in BellevueNAD83NSRS2007, the other in 2926.

Can someone please explain to me why I cannot load a tiled service with Spatial Reference BellevueNAD83NSRS2007 with a Dynamic Service with Spatial Reference BellevueNAD83NSRS2007?

Can someone also explain why I cannot load a Dynamic Service by itself when it has the custom spatial reference of BellevueNAD83NSRS2007?

Finally, can someone explain how when I load a Dynamic or Tiled Service with Spatial Reference 2926 and then load a Dynamic Service with custom Spatial Reference BellevueNAD83NSRS2007, both services draw?

Thanks!
Tags (2)
0 Kudos
8 Replies
DavidElies
New Contributor III
I know that when I draw a dynamic layer on a tiled service, I only run into problems if I try to change the specs, like extent, spatial reference, etc.  Are you eplicitly setting any of these in your dynamic layer or for the map?
Also, I read somewhere that when changing the extent or spatial reference, the units also need to be set.  If your units are wrong, the dynamic layer may be drawing in the wrong place.  I had this problem when my map units were meters and my layer units were decimal degrees.  Everything was drawn very close to latlon 0,0, (off the west coast of Africa).
0 Kudos
DasaPaddock
Esri Regular Contributor
Are you using ArcGIS API for Flex version 2.x? This version is required for wkt support.
0 Kudos
MichaelBishopp
Occasional Contributor
Are you using ArcGIS API for Flex version 2.x? This version is required for wkt support.


Dasa,

I am not using 2.1.  Can I use it in FlexBuilder 3 or do I need to upgrade to FlexBuilder 4?  Can you please explain wkt a bit for me?  I am new to this and am not sure what wkt means.
0 Kudos
DasaPaddock
Esri Regular Contributor
wkt is "Well-Known Text" vs. wkid for "Well-Known ID". The ArcGIS REST API added support for wkt at version 10.
See: http://sampleserver3.arcgisonline.com/ArcGIS/SDK/REST/geometry.html

If you open your service and view the json, what do you see for the spatialReference?.
e.g. for: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/MapServer?f=json&pretty=true
It's: "spatialReference" : {
    "wkid" : 4326
  }
0 Kudos
MichaelBishopp
Occasional Contributor
wkt is "Well-Known Text" vs. wkid for "Well-Known ID". The ArcGIS REST API added support for wkt at version 10.
See: http://sampleserver3.arcgisonline.com/ArcGIS/SDK/REST/geometry.html

If you open your service and view the json, what do you see for the spatialReference?.
e.g. for: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/MapServer?f=json&pretty=true
It's: "spatialReference" : {
    "wkid" : 4326
  }


Dasa,

Mine is like this:

"spatialReference" : {
    "wkt" : "PROJCS[\"BellevueNAD83NSRS2007\",GEOGCS[\"GCS_North_American_1983_HARN\",DATUM[\"D_North_American_1983_HARN\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Lambert_Conformal_Conic\"],PARAMETER[\"False_Easting\",1640416.896666667],PARAMETER[\"False_Northing\",0.24],PARAMETER[\"Central_Meridian\",-120.8333333333333],PARAMETER[\"Standard_Parallel_1\",47.5],PARAMETER[\"Standard_Parallel_2\",48.733333],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",47.0],UNIT[\"Foot_US\",0.3048006096012192]]"
0 Kudos
DasaPaddock
Esri Regular Contributor
You'll need to use Flex API 2.x in order to send REST requests with the wkt value. See the "Migrating to 2.x" page at: http://help.arcgis.com/en/webapi/flex/help/index.html
0 Kudos
MichaelBishopp
Occasional Contributor
You'll need to use Flex API 2.x in order to send REST requests with the wkt value. See the "Migrating to 2.x" page at: http://help.arcgis.com/en/webapi/flex/help/index.html


Dasa,

Just to make sure...are you saying that by switching to Flex 2.0 it allow us to use our custom projection in services in an application?
0 Kudos
DasaPaddock
Esri Regular Contributor
Yes. You can verify by creating a simple test app like this sample:
http://help.arcgis.com/en/webapi/flex/samples/index.html?sample=DynamicMap
0 Kudos