Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I know this question has been asked numerous times but not from this angle. I am proficient in PHP and PHP Frameworks, my interest is now on GIS with the sole intent of creating a map solution where someone can query and know where a piece of land is located based on a UNIQUE Code. This can further indicate lease expiry and such. Basically a land sale/solution. My question is, how can I best implement this in GIS? Is google maps sufficient for this kind of system? For some reason I feel it takes something more in depth hence this.

How do I go about achieving this goal?

What are the prerequisites?

I have zero experience in GIS, the most I have done is use google maps.

share|improve this question
So really what you want is a database application that displays query results on a map. Most of this you can do using the Google Maps API. – L_Holcombe May 15 '13 at 5:33
Pretty much so but in depth in a way. Let's assume my county has maps of plots. If someone wants to buy land, he simply goes to this service and queries that land code and this will get the result with that piece of land highlighted (polygon highligted), other results would be owner/lease expiry and such. – Kenyana May 15 '13 at 5:39
imho, it is not "GIS" if you just do search using unique key. Thats just the usual db row to web page. It is "GIS" when you do it by searching parcel which contain given coordinates. (ok i admit that if you display map after that unique key search its "GIS" ). – simplexio May 15 '13 at 6:33

3 Answers 3

What is important to note, is that Web-Gis is a vast field, and a lot of work has already been done on several projects and libraries to help out in this endeavor. So we need to see if there is something which you can reuse, instead of starting from scratch.

The bad news is that there is no popular library/application for web-mapping in php. The Good news is that you might not need one.

I would recommend that you first try to understand WebMapping, and understand the projects and Libraries that are already present. For this, you can refer to these questions:

Once you have understand the options available, you should then clarify your requirements. Looking at your question, you have very basic requirements: Show Parcels on the map Allow for Queries, Get Attributes for the Parcels and show them to the user, either on result of a Query, or when the User clicks on it.

This kind of work is possible using Google Maps, but I wouldn't recommend it, since the Google Maps API is a pain to work with when you have large Amounts of data.

I would instead suggest that you go with a Geoserver/OpenLayers solution provided that you can work with JavaScript. You might not even need any php code, if your data is all in the attributes of the features.

share|improve this answer
I am good with JQuery and other Jscript libraries, have touched on ExtJS before too. One question, how do draw my areas on a map and how do I export this to a db? Do I need to depend entirely on what the map has or it allows me to draw on it? How is that achieved? – Kenyana May 15 '13 at 9:12
If you have parcel data maybe in shapefiles, or other formats, you can show it as a wms layer on top of Google Maps/ other base maps. This WMS layer can be served by Geoserver/mapserver. In Addition, you can always draw new features, using Vector layers. – Devdatta Tengshe May 15 '13 at 10:33

Well, custom PHP script could be a more robust (and simple) solution. After all, spatial data are just rows in a database, and they can be queried as usual. No need for heavy server GIS software and/or horrible OGC filter syntax. If I were in your shoes, I would store the data in PostgreSQL database with PostGIS extension, write PHP back-end to query the database and retrieve data in GeoJSON format (look at this gist), and a front-end web application based on OpenLayers - it's more flexible than Google Maps API, but you can still Google base maps if you want to.

share|improve this answer
While this method will work, it will be sluggish and heavy with large amounts of data like parcels for a county/district. – Devdatta Tengshe May 15 '13 at 10:30

GeoPHP might be worth a look.

GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats: WKT (including EWKT), WKB (including EWKB), GeoJSON, KML, GPX, GeoRSS. It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.

And you can take it up a notch with the GEOS extension (assuming you have admin privileges for installing GEOS).

With GEOS you get the full-set of openGIS functions in PHP like Union, IsWithin, Touches etc. This means that applications get a useful "core-set" of geometry operations that work in all environments, and an "extended-set"of operations for environments that have GEOS installed.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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