[R-sig-Geo] "Geographical CRS given to non-conformant data" for CRS of epsg:4326

Agustin Lobo alobolistas at gmail.com
Sun Dec 18 11:18:56 CET 2011


Yes, it does! I've tested under ubuntu 10.04. Thanks.
When is this new version of sp going to available for win and mac?
Also, would it be possible to change the value of that point from -180.000183105
to -180.000 in R? And/or, could R print the 2 coordinates of the
non-conformant points
so that they can be identified in the GIS and eventually edited?

Agus

2011/12/17 Roger Bivand <Roger.Bivand at nhh.no>:
> On Sat, 17 Dec 2011, Roger Bivand wrote:
>
>> On Fri, 16 Dec 2011, Agustin Lobo wrote:
>>
>>> Hi!
>>>
>>> I've uploaded the file here:
>>> https://sites.google.com/site/filestemp2/home/world_adm0.zip
>>>
>>> It was a popular file, but actually cannot find it in the diva server any
>>> more
>>> According to qgis, there are no coordinates beyond +/- 90 or +/-180
>>>
>>> Extents:
>>> In layer spatial reference system units : xMin,yMin -180,-90 :
>>> xMax,yMax 180,83.623
>>> but readOGR() probably makes a more rigorous check.
>>
>>
>> Right. Thanks for access to the file. If I change the name of the *.prj
>> file, I see:
>>
>>> wrld <- readOGR(".", "world_adm0")
>>> print(bbox(wrld), digits=12)
>>
>>            min            max
>> x -180.000183105 180.0000000000
>> y  -90.000000000  83.6230316162
>>
>> so it is going sufficiently far below -180 for the validity check at
>> .Machine$double.eps ^ 0.25 (0.0001220703), but passes with a slightly
>> slacker tolerance. I suggest providing a tolerance in an option in sp to
>> resolve this. The error is primarily to stop users assigning a +proj=longlat
>> to projected coordinates (yes, it does happen). I'll look to add an options
>> mechanism to sp to handle both error/warning and tolerance for the power to
>> .Machine$double.eps.
>
>
> This is now committed to the rspatial R-forge project, module sp, revision
> 1179. Now it is possible either to throw a warning rather than an error,
> and/or to alter the tolerance; the error message now shows the exceeding
> value(s):
>
>> library(rgdal)
>
> Loading required package: sp
> Geospatial Data Abstraction Library extensions to R successfully loaded
> Loaded GDAL runtime: GDAL 1.8.1, released 2011/07/09
> Path to GDAL shared files: /usr/local/share/gdal
> Loaded PROJ.4 runtime: Rel. 4.7.1, 23 September 2009, [PJ_VERSION: 470]
> Path to PROJ.4 shared files: (autodetected)
>>
>> wrld1 <- readOGR(".", "world_adm0")
>
> OGR data source with driver: ESRI Shapefile
> Source: ".", layer: "world_adm0"
>
> with 209 features and 3 fields
> Feature type: wkbPolygon with 2 dimensions
> Error in validityMethod(as(object, superClass)) :
>  Geographical CRS given to non-conformant data: -180.000183105
>>
>> set_ll_warn(TRUE)
>
> [1] TRUE
>>
>> wrld1 <- readOGR(".", "world_adm0")
>
> OGR data source with driver: ESRI Shapefile
> Source: ".", layer: "world_adm0"
>
> with 209 features and 3 fields
> Feature type: wkbPolygon with 2 dimensions
> Warning message:
> In validityMethod(as(object, superClass)) :
>  Geographical CRS given to non-conformant data: -180.000183105
>>
>> set_ll_warn(FALSE)
>
> [1] FALSE
>>
>> set_ll_TOL(0.2)
>
> [1] 0.2
>>
>> wrld1 <- readOGR(".", "world_adm0")
>
> OGR data source with driver: ESRI Shapefile
> Source: ".", layer: "world_adm0"
>
> with 209 features and 3 fields
> Feature type: wkbPolygon with 2 dimensions
>>
>>
>
> Please let me know if this helps,
>
> Roger
>
>
>>
>> Had you looked at using the wrld_simpl dataset that is disributed with
>> maptools:
>>
>> data(wrld_simpl)
>>
>> and joining countries with the codes included? It is a bit out od date in
>> not having the Sudan split; it is about twice the object size of the file
>> you are using, plotting somewhat more slowly:
>>
>>> object.size(wrld_simpl)
>>
>> 6349008 bytes
>>>
>>> object.size(wrld)
>>
>> 3250784 bytes
>>>
>>> plot(wrld_simpl)
>>> plot(wrld, border="red", add=TRUE)
>>
>>
>> The file simplifies sea ice in Antarctica, and discards many small
>> islands, otherwise they match pretty well.
>>
>> Roger
>>
>>>
>>> Could it be possible that readOGR()  read the file with a warning
>>> and print the offending coordinates?
>>>
>>> readOGR() works fine with this alternative file:
>>> http://www.gadm.org/data/gadm_v1_lev0_shp.zip
>>>
>>> but it's huge and cannot actually work with it and have not found a
>>> third alternative.
>>>
>>> Thanks,
>>>
>>> Agus
>>>
>>> 2011/12/16 Roger Bivand <Roger.Bivand at nhh.no>:
>>>>
>>>> On Fri, 16 Dec 2011, Robert J. Hijmans wrote:
>>>>
>>>>> Agus,
>>>>>
>>>>> This is likely because there are some longitude coordinates that are  <
>>>>> -180 or > 180.
>>>>> OGR does not complain, but, as these are lon/lat data, sp runs
>>>>> sp:::.ll_sanity  and throws an error.
>>>>>
>>>>> I think it would be preferable if sp gave a warning rather than an
>>>>> error,
>>>>> at least when longitudes are within a reasonable number (-360 -- 360
>>>>> ?). I
>>>>> think that a longitude of, e.g. 181 is perfectly interpretable, and
>>>>> sometimes useful. For example to plot Russia, or Fiji in one piece in
>>>>> lon/lat coordinates.
>>>>
>>>>
>>>>
>>>> As Agus knows, unless the file is made available, help will likely not
>>>> be
>>>> forthcoming. Without a traceback(), we don't know where the error is
>>>> being
>>>> thrown. The fact that an out of domain number is interpretable in one
>>>> context doesn't necessarily make it acceptable in others, I believe. We
>>>> could go to an option setting, which would slacken the error to a
>>>> warning if
>>>> set. Opinions?
>>>>
>>>> Roger
>>>>
>>>>
>>>>>
>>>>> Robert
>>>>>
>>>>>
>>>>> On Fri, Dec 16, 2011 at 4:24 AM, Agustin Lobo <alobolistas at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi!
>>>>>> I' trying to read this shapefile that is just in lon,lat WGS84
>>>>>>>
>>>>>>>
>>>>>>> ogrInfo(dsn=datad,layer="world_adm0v2")
>>>>>>
>>>>>>
>>>>>> Source:
>>>>>> "/media/Iomega_HDD/JACOB/ExIE2011DATA/ExFireBorneoDATA/world_adm0",
>>>>>> layer: "world_adm0v2"
>>>>>> Driver: ESRI Shapefile number of rows 209
>>>>>> Feature type: wkbPolygon with 2 dimensions
>>>>>> +proj=longlat +datum=WGS84 +no_defs
>>>>>> Number of fields: 3
>>>>>>      name type length typeName
>>>>>> 1      NAME    4     40   String
>>>>>> 2 GMI_CNTRY    4      3   String
>>>>>> 3    REGION    4     25   String
>>>>>>
>>>>>> but I get:
>>>>>>>
>>>>>>>
>>>>>>> world <-readOGR(dsn=datad,layer="world_adm0v2")
>>>>>>
>>>>>>
>>>>>> OGR data source with driver: ESRI Shapefile
>>>>>> Source:
>>>>>> "/media/Iomega_HDD/JACOB/ExIE2011DATA/ExFireBorneoDATA/world_adm0",
>>>>>> layer: "world_adm0v2"
>>>>>> with 209 features and 3 fields
>>>>>> Feature type: wkbPolygon with 2 dimensions
>>>>>> Error in validityMethod(as(object, superClass)) :
>>>>>>  Geographical CRS given to non-conformant data
>>>>>> I've tried
>>>>>>>
>>>>>>>
>>>>>>> world
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> <-readOGR(dsn=datad,layer="world_adm0v2",p4s=CRSargs(CRS("+init=epsg:4326")))
>>>>>> but get the same result
>>>>>>
>>>>>> can't this CRS (epsg:4326)
>>>>>> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0
>>>>>> be read by readOGR() ?
>>>>>>
>>>>>> Thanks
>>>>>> Agus
>>>>>>
>>>>>> _______________________________________________
>>>>>> R-sig-Geo mailing list
>>>>>> R-sig-Geo at r-project.org
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>>>
>>>>>
>>>>>        [[alternative HTML version deleted]]
>>>>>
>>>>> _______________________________________________
>>>>> R-sig-Geo mailing list
>>>>> R-sig-Geo at r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>>
>>>>
>>>> --
>>>> Roger Bivand
>>>> Department of Economics, NHH Norwegian School of Economics,
>>>> Helleveien 30, N-5045 Bergen, Norway.
>>>> voice: +47 55 95 93 55; fax +47 55 95 95 43
>>>> e-mail: Roger.Bivand at nhh.no
>>>>
>>>>
>>>> _______________________________________________
>>>> R-sig-Geo mailing list
>>>> R-sig-Geo at r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>>
>>
>>
>
> --
> Roger Bivand
> Department of Economics, NHH Norwegian School of Economics,
> Helleveien 30, N-5045 Bergen, Norway.
> voice: +47 55 95 93 55; fax +47 55 95 95 43
> e-mail: Roger.Bivand at nhh.no
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>



More information about the R-sig-Geo mailing list