opencaching / opencaching-pl

The source code of Opencaching.PL (and some other domains)
https://opencaching.pl/
GNU General Public License v3.0
22 stars 33 forks source link

Another PDO error #829

Open harrieklomp opened 7 years ago

harrieklomp commented 7 years ago

After edit a cache (changed coordinates) i get the next PDO error.

+++ PDO Error +++

+++ Debug: Query: SELECT id, AsText(shape) AS geometry

    FROM `npa_areas`

    WHERE ST_WITHIN(

        GEOMFROMTEXT(

            POINT(6.0759166666667, 50.85475)

        ), `shape`

    )

+++ Ex_Code: 22023

+++ Ex_Msg: SQLSTATE[22023]: Invalid parameter value: 3037 Invalid GIS data provided to function st_geometryfromtext.

+++ Ex_Trace:

0 /var/www/www.opencaching.nl/Utils/Database/XDb.php(117): PDOStatement->execute(Array)

1 /var/www/www.opencaching.nl/util.sec/cron/modules/cache_npa_areas.class.php(39): Utils\Database\XDb::xSql('SELECT id, As...')

2 {main}

harrieklomp commented 7 years ago

Somehow it was switched on in cron. I did disable it. Let see what will happen next hour.

deg-pl commented 7 years ago

I think we should not fix it, but remove all NPA related code from OC PL :)

harrieklomp commented 7 years ago

To be honest.... I like this function (but that is personal) perhaps other nodes could give their opinion too.

andrixnet commented 7 years ago

Provided we have accurate NPA data, it adds value.

harrieklomp commented 7 years ago

Mostly the data is one year old. Look at http://www.eea.europa.eu/data-and-maps/data/natura-7#tab-gis-data. Data is also available per country at http://ec.europa.eu/environment/nature/natura2000/db_gis/index_en.htm Perhaps OC can do something with a map. Look at http://natura2000.eea.europa.eu/#

deg-pl commented 7 years ago

We (OC PL) don't use NPA from over 3 years. It is big (over 1GB), unusable data, not related with geocaching. We may add info about nearest park area, shop, mountain, petrol station, railway timetable, but... we are geocaching site, not Wikipedia. :D

harrieklomp commented 7 years ago

I do believe the code uses two types of NPA. First is the most common NPA and the second is the Polish Parkipl. These NPA uses also two tables in DB. For example on OCNL the data in table npa_areas is only 24 MB and has only BeNeLux data in it, and the table parkipl is empty. For us (OCNL) it is no problem to use this NPA function and would like to keep it. If there is to much data on Polish DB in those tables then you can empty one or both tables and disable or remove the line "util.sec/cron/modules/cache_npa_areas.class.php" in cron.

So, please leave the code like it is (perhaps repair it) and every node can decide if they use it via cron. If OCPL decides not to use the parkipl anymore it even can be disabled or removed from the code.

andrixnet commented 7 years ago

Make this a feature activated / deactivated in settings, according to node preference. Since OK data would be huge (to add as SQL dump to the repository), for each country/region NPA data source and conversion procedure should be documented.

Please also check Flopp's map for NPA data. (and using external providers, on map)