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

Reply via email to