Thanks for the reply Dane,
On Thu, May 7, 2009 at 12:07 PM, Dane Springmeyer <[email protected]>wrote:
> Hey Ryan,
>
>
> On May 6, 2009, at 5:22 PM, Ryan Halterman wrote:
>
> Hello,
>>
>> I am trying to read NGA Digital Nautical Charts (VPF/VRF format) into
>> Mapnik. To do so, I am attempting to create a datasource using the OGDI
>> driver through the ogr plugin. I have built Mapnik in Ubuntu 8.10 (and
>> 9.04) with debug on and with ogr support. Upon importing Mapnik, I receive
>> confirmation of the ogr plugin's existence. I am able to run ogrinfo on the
>> DNC data source and receive a list of layers using the following command:
>>
>> ogrinfo gltp:/vrf/home/<user>/dnc/dnc13/a1316120
>>
>
> Fascinating - i've never heard of this file format.
>
>
>>
>> One of the layers listed is:
>>
>> 11: coa...@ecr(*)_line (Line String)
>>
>> In order to create the data source in Mapnik, I am attempting the
>> following:
>>
>> lyr = mapnik.Layer('test', "+proj=latlong +datum=WGS84")
>> lyr.datasource = mapnik.Ogr(file='/home/<user>/dnc/dnc13/a1316120',
>> layer='coa...@ecr(*)_line')
>>
>> This gives a runtime error indicating line 299 in mapnik/__init__.py
>> (return CreateDatasource(keywords))
>>
>>
>
> What is the full error?
There is no error message when calling through mapnik.Org(), simply a blank
runtime error. It did show that the error occurred at line 299 of
__init__.py. That is what led me to call it through CreateDatasource().
>
>
>
> Maybe try:
>
> lyr.datasource =
> mapnik.Ogr(file='gltp:/vrf/home/<user>/dnc/dnc13/a1316120',
> layer='coa...@ecr(*)_line')
>
I tried that initially as well, but that returned a "File not found" error.
>
>
> Without being at all certain of its correctness, I also attempted to call
>> CreateDatasource directly with the following:
>>
>>
> This will be no different that calling the Ogr function, which just wraps
> CreateDatasource.
>
The only difference is that the python shell (iPython) actually returns an
error message (as seen below) when called with CreateDatasource().
>
>
> lyr.datasource = mapnik.CreateDatasource(type='ogr',
>> file=/home/<user>/dnc/dnc13/a1316120', layer='coa...@ecr(*)_line')
>>
>>
> Looks like you are missing a single quote after 'file'
>
Sorry. That was there when I issued the command. It just didn't make it
into my post.
>
> This returns the following:
>> ArgumentError: Python argument types in
>> mapnik._mapnik.CreateDatasource() did not match C++ signature:
>> CreateDatasource(boost::python::dict)
>>
>> I am able to use ogr2ogr to convert the DNC to a shapefile and then import
>> that into Mapnik, but I would greatly prefer to not have to go through that
>> step. Any suggestions or insight anyone may have about this or reading
>> Digital Nautical Charts in general would be appreciated.
>>
>
Thanks again for your time. Any further comments are appreciated.
-- Ryan
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users