By custom, I don't mean a different structure of KML file, but in <description></description> section, I have data with HTML tags of this kind:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <name>New York City</name>
      <tr><td colspan='2'>Attributes</td></tr>

I want to easily import all this data, for each placemark, to a table with corresponding columns in the database, how to do this?

  • 3
    There are many ways to accomplish this. Can you tell us more about what tools you are familiar with? Are you looking for a programming-oriented solution (what language do you like?) or a tool-based solution (e.g., ArgGIS, QGIS)? – katahdin Sep 10 '12 at 0:14

you can use ST_GeomFromKML as this page.


or you can use ogr2ogr as following to process entire KML files;

ogr2ogr -f "PostgreSQL" PG:"host=yourhost user=youruser dbname=yourdb 
                            password=yourpass" inputfilename.kml

i hope it helps you...

  • 1
    ogr2ogr: you're saying go from KML to SHP then to PG. Why he can't use from KML to PG with one step? – nickves Sep 10 '12 at 12:04
  • It works! and for reference, I want to add some comments: I've found ogr2ogr in /Library/Frameworks/GDAL.framework/Programs/ (on a Mac) and there's warnings if content of <description> section contains more than 80 caracters. Thank you! – elbaid Sep 11 '12 at 0:50

For those happier in QGIS, drag your KML file to QGIS. Then connect to your Postgres database as documented here then add the layers your want from QGIS as new table in your schema

  • That's what I would do! – DPSSpatial Nov 15 '18 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.