Geographical Mapping with SQL and OOP - gis

We are in the development stage of a project that will require mapping unit record data to geographic locations and displaying them on a map Requirements of the project include the ability to bundle unit records visually (like a heat map) and show layers that include not only known geographic boundaries such as States and Counties, but also custom-defined polygons created by either the programmer or end-user.
While we can create this all from the ground up, over a standard Google Map for example.. I am wondering if this facility already exists in some mapping architecture and if someone can provide valuable references if this is the case.

Related

Is it safe to combine data for zipcodes across different demographic sets?

My team is working with demographics data across different data sources (some paid sources and some free data sources available online). Each of these data sources comes with a shape file and some attributes associated with each demographic area and could be defined across different cuts of time. However, when we display these attributes to our end users, we wanted to abstract the multiple datasources concept and show zip codes as a single demographic unit. We were planning to combine the attributes of all the datasources into one single datasource and point that to one of the shape files (For the time being, we are willing to look past issues related to granularity or precision in the definition of polygon across these datasoures. However, should we be concerned that the zip code to actual geographic area might not be consistent across demographics datasources taken across different cuts in time? E.g. ZipCode 12345 used to Map to an area in State A till 2010 but points to an area in State B for all datasets after 2010?
This question was cross-posted on gis.stackexchange and was answered there (ref https://gis.stackexchange.com/questions/182790/is-it-safe-to-combine-data-for-zipcodes-across-different-demographic-sets)
There is a concern that we might be misrepresenting the data by making the assumption that the zipcode always maps to the same physical area and hence it would not be a good idea to combine datasources without running some tool that can map the data based on physical areas and not names of the zip code

Land Cover Dataset

I'm interested in implementing some data visualizations as map layers. But I'm interested in generating data layers only above land area (land cover). A good example would be to plot population density over a coastal city. What is a good approach for this, when it comes to the data source and how to actually display layers with such detailed boundaries?
Technically, so far I'm using Leaflet.js and tiles based on OpenStreetMaps, but the question is not necessary technology specific. Also, I'm not interested in plotting this for the whole planet, but for areas of a few hundreds square kilometers (for e.g. a coastal city).
To better give an idea of what I'm interested in, this Koordinates map is something that is similar to what I'm interested in. However, I need something a bit more detailed on the borders.
Usually you need a desktop or server based GIS such coverage, but not JS to do the processing on the client side.
How you do the mapping (here: linking statistical data and land areas) depends on your data itself. You can load OSM based shape files into QGIS and do some python scripting or using the PostGIS commands to link your data and choose a map style.
Another idea would be http://geocommons.com that allow easy visualization if you upload CSV files.
Depending on your area of interest, you can obtain some highly detailed shapefiles from numerous sources. Especially if the local area provides GIS data to the public (many larger coastal cities do, e.g. New York, London). From there, you can create a GeoJSON text of the geometries (here's a free tool for that). Parsing the JSON is very simple and it's very easy to add it to leaflet maps. You can even get creative and add more keys to each geometry object with the data you want to visualize.

Choosing between projection systems

I'm a Python/Django developer who is new to GeoDjango (and GIS, in general). I was hoping someone could provide some guidance with respect to the different projection systems offered by the City of Toronto.
The City of Toronto is great with publishing Open Data. Here's a link to their Open Data repository.
All shapefiles are available in both "MTM 3 Degree Zone 10, NAD27" as well as "WGS84" formats. GeoDjango is able to import both formats. What are the consequences of choosing to import data from one format as opposed to another? What factors should I consider when deciding?
Depends on how you are using the data. If you are layering it on top of other datasets, choose a common coordinate system for all datasets so that your mapping framework doesn't have to reproject the data every time a map is drawn. WGS84 is a very popular coordinate system, and would be a good choice for mixing with other data.
If you are just using it to generate maps in the Toronto area, MTM 3 Degree Zone 10 is probably your best bet, as WGS84 will introduce slight distortions when drawing a map on the screen, although casual (and probably advanced) map users will be unlikely to notice it.

Obtain vector of lat/long pairs of political boundries from GIS database

I have an application that draws a vector map of the 50 United States. Each state is a polygon. These polygons change color as the state of the application changes.
I obtained the coordinates I'm using now by laboriously tracing a scanned in map with a mouse, recording the screen coordinates as I did so. As you can imagine my vector map is pretty ragged. I'd like improve the appearance of my maps by using real boundary coordinates for each state, and in the future use other political boundaries in my app such as counties or congressional districts.
I know nothing about GIS systems, nothing at all. I do think that given a vector of lat/long pairs for the borders of each political entity I could convert the lat/longs into screen coordinates. I used to be an Air Force navigator, so I'm comfortable with lat/long calculations.
Bottom line: I need an open source or public GIS database system that could spit out a list of Lat/Long pairs for the boundaries of the fifty States.
Can someone provide a pointer to such a database and hopefully a tutorial of some kind describing how to extract political boundary information from it?
Thanks in advance!
The Census Bureau provides the TIGER data sets that include shapefiles for state outlines (and much, much, more). The downloads are in ESRI Shapefile format, which can be opened by most GIS applications, such as the easy to use open-source QuantumGIS. To convert the shapefiles to a format that's easier to work with, see this question. Once you've got the vector data into your program, you'll probably realize that it's more detailed than you want. Check gis.stackexchange.com for some tools to simplify the polygon outlines. Once you've got the sets of points you want, you may want to use the PROJ library to handle the projection of the points on to your map.

Can I get terrain data from anywhere for use in simulations?

Is there a way I can build terrain data in a simple way from sources like Google Maps. I am not interested in heights but a simple 2D representation will be good enough.
For instance, I am trying to represent a terrain using the roads and buildings inside a map to model a traffic simulation. Representing objects like buildings is necessary so that when my cars are moving on a road, they should know when to take a turn etc. Are there any standards for representing these?
There are dozens of map standards. also map data tends to be very expensive, although there are some low cost and open source map sources. Eg. OpenStreetMap, and for the US, Tiger/Line.
I would also read up on, at least, some introductory GIS - I think you'll find the field is much bigger and more complex that you are initially thinking.