ThinkGeo.com    |     Documentation    |     Premium Support

Format Exception: Lat must be between -90 and 90

Using the latest Web Edition suite - I get the error:  Format Exception: Latitude must be between -90 and 90 degrees.


My data is in SQL 2008 as follows using the Server Explorer in VS2008 (the second column is a Geography data type in SQL and VS parses it when you run a query through the GUI):




    
        
            geoID
            geodata
        
        
            1
            POINT (-94.160720333333 42.506172166667)
        
        
            2
            POINT (-94.148626666667 42.5295105)
        
        
            3
            POINT (-94.148662 42.537658166667)
        
        
            4
            POINT (-94.1486775 42.540537833333)
        
        
            5
            POINT (-94.148700666667 42.543231333333)
        
        
            6
            POINT (-94.148713 42.5450185)
        
        
            7
            POINT (-94.148699666667 42.562482166667)
        
        
            8
            POINT (-94.148696 42.569416333333)
        
        
            9
            POINT (-94.1481475 42.572807)
        
        
            10
            POINT (-94.149961333333 42.586232)
        
        
            11
            POINT (-94.149554333333 42.589500166667)
        
        
            12
            POINT (-94.149130833333 42.592831166667)
        
        
            13
            POINT (-94.148439 42.603258)
        
        
            14
            POINT (-94.147699333333 42.6129325)
        
    


I'm using the following code to pull in the data to display:




ThinkGeo.MapSuite.Core.MsSql2008FeatureLayer mySQL2008Layer = new MsSql2008FeatureLayer("*****","eventdatageo", "geoID");

mySQL2008Layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel =ApplyUntilZoomLevel.Level20; 

Map1.StaticOverlay.Layers.Add(mySQL2008Layer);


I did check the layer to make sure there are features by calling the GetAllFeatures method of the sql layer and the count is valid.


Any ideas?



I think that what is happening is that you are using the value for the longitude as the latitude and the value for the latitude as the longitude. In the POINT definition, the first value is for longitude and the second value is for the latitude, so for example: 
  
 POINT (-94.160720333333 42.506172166667) 
  
 This means: Longitude: -94.160720333333  
                     Latitude:     42.506172166667 
  
 That point is by Fort Dodge, Iowa.